%l}£ Wxmzxl ^IntXm x ^vxt^Jkimxiain Mmx (&xxmp& Mziv&lMzx
|, ''' ' gaBB8MBBI,WllllallB, ' IB,IWIMM I II i l Hi I Ml »"■' ""Tfrffft^tlHtit^^^ l l l 'i l W II H IimiMllHlHW
™ > • "i ni i in i'i l i l fc i 'ii i 111 il l i llPliNl liii ii ' i i| i i n i ii \ mw
ittrtm
•> c
ME
ADDRESS
2
3
6
8
9
10
10
13
14
15
17
20
21
26
28
29
30
ROUTINES
33
38
38
lid You
Information and Chairmen TreaSury Note$
input/Output — by Abed Kahale
? — by Les Cottrefl kHc
o ^mr
From The Chairman's Disk — by Donald Lambert
FILES
IRA Pay-Out — from Don Lambert
LarKen Disk System — by Gilliam Parrish
HJI Anounces New Free Ware — by Tim Swenson
Aurora — The QL Graphic Card
QL Hacker's Journal — by Tim Swenson
Surfing The NET With Trie 2068 — by David Lassov
Parallel .I/O Modification — by Al Feng
QLUTter BAS — by Al Feng
Daisy Be Good X — by David Lassov
ZX-81 Video Display System - 2 — by Wilt Rigter
TS-2068 Modem Compatible Serial I/F - by Les cottrell
SeekQL 2.09 Part 2 — by Al Feng
SUBROUTINES
Unclassified Ads
RMG
FWD Computing
Established I Q©
ZXir QLive Alive! ©
The Ti m ex/5 !nc lair NorthAmerican User Groups Newslette
rmation
We wish to support the foUowkvg
platforms : ZX-80/81, TS-1000,
Spectrum, TS-2068, Z88 and QL. If
you have any questions about any of
these fine Sinclairs, contact the:
Chairman
Chief Motivator
Donald S. Lambert (ISTUG)
Vice-chairmen
Tape & JLO PD Library
D. G. Smith
415 Stone St.
Johnstown, PA 15906
814 535-6998
Z88 Library
Dave Bennett (HATSUG)
329 Walton St. Rear
Lemoyne, PA 17045
717 774-7531
ZX-81 PD Tape Library
Ed Snow
2136 Churchill Downs Cir.
Orlando, FL 32825
407 380-5124
M3MG Enterprises
Rod Gowen (CCATS)
14784 S. Quail Grove Cir.
Oregon City, OR 97045
503 655-7484 FAX 503 655-41 1 6
TS-2068
Rod Humphreys (VSUG)
10984 Coffins Pi.
Delta, BC V4C 7E6 Canada
604 583-2819
QL PD Lxbraxy
John Donaldson (CATUG)
835 Foxwood Cir.
Geneva, IL 60134-1631
708 232-6147
AERCO & Z80 Emulator
Keith Watson
41634 Amberly Dr.
Mt. Clemens, MI 48038
BBS — ==GATOR==—
Bob Swoger (CATUG)
613 Parkside Cir.
Streamwood, IL 60107-1647
630 837-7957 Woifc 847 576-8068
Any of the above can also be
reached by e-mail through the
MMCC BBS 847 632-5558
ZXir QLive ALive!
Is the newsletter of T/SNUG, the
Timex/Sinclair North. American User
Groups, providing news and
software support to the T/S com-
munity in a VOLUME of four
newsletters per year; begmning with
t he Spring (March) issue.
T/SNUG' s main goal is to
preserve and encourage the
use. of Sinclair computers
by providing an open
forum for the exchange of
Imowledge, building and
maintaining of software
libraries. Providing
vendors, repair service and
members with free ad
space.
It is the user groups and individual
subscribers, rather than the vendors,
that provide the pecuniary support
for this newsletter. Vendors and
developers receive this newsletter
free of charge, though contribution
from vendors and user groups is
gratefully accepted. Please support
our vendors and service providers
whenever possible.
If you have a problem or you
have solved a problem, please share
it with the rest of us. No problem
will be considered unimportant.
Editor/Treasurer
ou can keep T/SNUG alive by
an annual contribution of $12
for one VOLUME made payable
to Abed Kahale. Send check to:-
ABED KAHALE
3343 S FLAT ROCK CT
SIERRA VISTA AZ 85635-6874
520 378-3424
Back copies are available for
$0.75 each postpaid,
<As of March 3, 1997, we have
a balance of $1234.63
end in your articles by tape or disk
1 and your inputs to: —
DONALD LAMBERT
1301 KIBLINGER PL
AUBURN IN 46706-3010
Phone 219 925-1372
By hardcopy or modem (300-14.4) to:
Abed Kahale
E-mail: j^^^^jf ^^SEEP 36 ^^^^^
GATOR's
TWISTED PAIR
To better inform the Sinclair Community,
four 24-hour a day BBSs are now provided to
serve you. You are encouraged to exchange mail
and use the files sections of these boards.
Bulletins and ads are available to all.
Q-BoxBBS 810 2S4-9&78
Utica, Michigan
SCC Sever Jose Moreno
http://members.tiipod.com/-helpme/
SOL BBS 520 M2~mM
Tucson, Arizona
MMCC BBS 847 632 - 5558
Arlington Heights, Illinois
If you know the Internet E-Mail address of
a Sinclair user, but do not have access to Internet,
simply address your E-Mail to GATOR Sinclair
on the 24-hour MMCC BBS and include the
name and E-Mail address of the user you wish to
reach. Then check the MMCC BBS from time to
time if you expect a reply.
We encourage you to excahange mail and
contribute to the UPLOAD section. Call and
register using your first, last name and phone
number along with a password you won't forget.
Write It Down! Do not try to do anything else at
this time.
When you call-in the next time, you will
have Level 5 security and be able to enjoy full
user privileges. The BBS has smaller sections
called conferences. Select "J " for "Join a Confer-
ence". Select "TIMEX" to get into the Sinclair
Section. The mail you then read will only be
from other T/S users. Use extension .ART for
articles, .ADS for ads and .NWS for news when
UPLOADing.
For help, contact the SYSOP, Bob Swoger,
by leaving a message, mail, E-Mail or phone.
Bob_ Swoger-aENG108@email.mot.com
ZXir QLive ALive?
Spring 1997
To: Abed Kahaie < 1 03457.244G@compuserve.com>
You know, SOL BBS is really unique Didn't plan it
that way, but that's the way it's worked out! For it runs
ON a 2068,
This means two things: First, it is arguably The Only
BBS In The World, operated completely by a 2068, with
the assistance of LKDOS and four disc drives plus
RAMDISK. Also, Dallas SmartWatch, Brother 1. 109 large
printer, TS-2040 small printer, Larry Kenny's own ZX80
serial port, and Larry's modem SX212 by Texas
Instruments.
Well, this is surely not an unaided 2068! But, with the
assistance of that short list of innocuous computer
peripherals, 1 can take any of these little 2068 boards in my
office here, and access the world of the Internet!
Guess that's what they mean by saying, "It's An
Open System."
David Lassov Tucson, A2
From: Jose Moreno <jose m@internetmci.com>
Subject; SCC BBS
To: Abed Kahaie <103457.2440@compuserve. com>,
Bill Cable <bcable@triton.coat.com>, CATS News-Letter
<mfD002@epfl2.epilbalto.org>, Chic Computing Club
< 1 00023.477@compuserve.com>, FWD Computing
<fwdavis@hotmail.com>, JonKaczor
< 75363. 1 1 27@.compuserve.com>, Peter Liebert
<p.Hebert@t-online.de>, Tim Swenson <swensont@
projtech.com>
Greetings everyone! I ! ! 1
This is a mass-mailing that I have created from
a!! the Internet users that subscribe to ZQA!. ! am
writing to inform you of the following I have read
the latest ZQA!, and in there it states that SCC BBS
in down for good. This is true. .. It went down due to
lack of user support, I barely served any calls during
the full one year of it being up. That's the bad news,
the good news is that SCC may now be found on the
Internet at the following address
http://members.tripod.com/-helpme/.
Go there and check it out... I have been working
very hard to make it a very good website... Tell all
your Sinclair friends on the Internet Spread the
word Thank you
Jose Moreno SCC Server
First, the ZXir QLive Alive! newsletter looks as
professional as any user group newsletter I've seen. You
should be commended- but you probably haven' t been.
If my past experience as a local user group newsletter
editor is any indication, "silence" is about the best
compliment you get as an editor. A mob carrying torches
and heading toward your house would probably be an
indication that things are not going well.
ZXir QLive Alive! ~3
Anyway, the newsletter says "Re-Up Time" has
arrived again (where do the years go??), and considering
the value of T/SNUG in general and the newsletter in
particular, I am more than glad to make my yearly
monetary contribution.
As to non-monetary contributions, I saw the "Clue"
article printed in the last issue, so I assume the LarKen
article is coming up. i was hoping I'd have a bit more
information on the Byte-Back parallel printer problem by
publication time, but I've no definitive answer yet. I may
have a further review coming up for submission; I'll send it
e-mail if I get one put together.
Keep up the good work!
Gil Parrish Beggs, OK
Thank you Gil. ( am sure that ZQA! members do
appreciate the work and effort. The only thing that is
missing is someone close by besides myself to
I recently re-joined the Long Island Sinclair User's
Group (LIST) and heard about the newsletter produced
quarterly by ZXir Clive Alive! I wrote to Donald Lambert
for information, and he suggested that I send you my
contribution for a year's subscription to the newsletter and
the buy-sell list which apparently accompanies the
newsletter. My check is enclosed,
I understand that the subscription year starts with the
Spring issues due out March; which means that I have
missed the Winter issues due any day now if not already
published. Please advise if I can get a copy of the Winter
issue by sending an additional check in an amount you
may suggest.
I work mainly with the Timex Sinclair Model 2068
with a Spectrum adapter in the cartridge slot.
Seymour H. Miller Forest Hills, NY
WthnntB to nut (&mnmimttx$
A | copy has been mailed < to you
Dear Abed:
Here is the article on 2068's and the Internet. It is too
long for MSCRIPT, so it's coming to you in two parts:
intrnet.Ct and hints.Ct. Please, MERGE the two and print
Internet first, followed by the hints.
OK, a lot of characters are missing from my screen,
so I'll SEND them again, this time in HALF DUPLEX.
And, be sure to tell me if it comes out better, as I won't be
able to see a thing! !
David Lassov
Half Duplex did not work.
Want to pass on this problem with LarKen MaxCom.
IT IS INTERMITTENT: the worst kind! !
Suppose we want to enter a long message into a BBS
or as Email into the Internet. Then, we go off-hne and
Spring 1997
prepare the letter as a text file. Entering the BBS or the
Internet, we proceed to upload the ASCII file, containing
the message, right?
Well, everything goes fine, until the host computer
system makes its first disc access. Then, our 2068 system
pauses, waiting for a signal from the host to resume.
The problem is, that that signal rarely comes, or, more
likely, MaxCom fails to respond.
This is a nasty problem, since it appears to be a defect in
the machine CODE, both MOCOD.C1 and MAXBBS.C1
.... The system point enters the CODE, in order to effect
ASCII transfer, and never emerges, to finish ASCII
transfer!!
HAPPY NEW YEAR
David Lassov Tucson, AZ
CLOSE TO HOME
© 1996 Jolm McPherson/OisL by Uniwsal Press Syndicate
from Frartcine Sldar
I just mailed you a load of articles, all for (maybe)
next issue ofZQA!.
There are five menus, which BOTH daisy la.art and
Daisya.ART discuss. In addition, I had to COPY the Main
Menu for Daisy2a.ART on the 2040.
Hope that's OK.
Also wrote you a letter about a long 2040 listing.
Hope it copies well, as the topic is fascinating, BOTH a
listing of a Post Mortem Dumper and a study 2068 BASIC
and the way it stores and uses the values of PI. It is a study
in the cool ways of optimizing 2068 BASIC code !
KEEP ON TIMEX' n =»»»>»Dave
The following groups still meet, those who
still publish newsletters are indicated by gp:
{See the Ads section for addresses}
Don Lambert (ISTUG)
219 925 1372
Phil KwitkowsM (CATUG) §
603-584-6710
Rod Humphreys (VSUG)
10984 Collins Pi.
Delta BC V4C 7E6 Canada
Harvey Rait (LIST) fj
George Chambers (TTSUC)
14RichomeCt.
Scarborough, ON Canada
Barry Washington (CATS) §
301-589-7407
Gary Ganger (DMA)
(NESQLUG) §
617233-3671
JonKaczor(GCTSUG)§
E-mail: 73177,333@compuserve.com
Top 1 0 Ways Microsoft Would
Change The Auto Business
10. New seats would require everyone to have the same
butt size.
9. We would all have to switch to Microsoft gas.
8. The US government would be forced to rebuild all of
the roads for Microsoft cars; they will be able to
drive on the old roads, but they will run very slowly.
7. The oil, alternator, gas and engine warning lights would
be replaced by a single 'General Car Fault' light.
6. Sun MotorSystems would make a car that was solar-
powered, twice as reliable and five times as fast but would
run on only 5% of the roads. Intel Motors would make an
engine with twice the horsepower but will only run 10%
faster.
5. You would be constantly pressured to upgrade your
car.
4. You could only have one person in the car at a time,
unless you bought a Car95, CarNT or Car 97 — but then
you would have to buy ten more seats and a new engine.
3. Occasionally, your car would die for NO apparent
reason and you would have to restart it. Strangely, you
would just accept this as normal.
2. Every time the lines of the road were repainted, you
would have to buy a new car.
1. People would get excited about the new features of the
latest Microsoft cars, forgetting that these same features
had been available from other car makers for years!
Attribution: According to one source <Thomas Head
(thomash@blue.misnet.com)> this list was originally
published in either the "AutoWeek" or "Car and Driver"
magazine.
To Jay (Shepard)
A guy walks into a bar and sits down. He starts
dialing numbers on his hand like a telephone. The
bartender walks over and tells him that it' s a very tough
neighborhood and he doesn't need any trouble here. The
guy says, "You don't understand. I'm very hi-tech. I had
a phone installed in my hand because I was tired of
carrying my cellphone." The bartender says, "Oh, yeah?
Prove it."
The guy dials up a number and gives his hand to the
ZXir QLive Alive!
Spring 1997
bartender who talks into the hand and carries on a
conversation and then hangs up. "That's incredible," says
the bartender. "I'd have never believed it!" "Yeah" says
the guy, "I can keep in touch with my broker, my wife, you
name itl By the way, where is the men's room?"
The bartender points to the door in the corner. The
guy goes in and doesn't come out for the longest time.
Fearing the worst, given the tough neighborhood, the
bartender goes in and finds the guy with his pants off,
spread-eagle up against the wall, and a roll oftoilet paper
up his butt.
"Oh my God! Did they rob you? How much did
they get?" The guy turns and says, "No, no, I 'm just
waiting for a fax!" ( I'll bet he's got a hand-held scanner
too. % A )
As for the printer interface, you can see drivers I've
written before in UPDATE! and I think in NTN. One was
for a DMP 130, the other for an EPSON. I use
TIMACH1ME to turn it into machine code.
What baffles me is that drivers for your printers are all
available for the IBM somewhere, 1 believe on the DOS
disk you got with your machine. Lets get these questions
answered for me: platform: IBM - Right!
What are you trying to print and can't, a picture? Just
text? From what application? Just exactly what is the
model printer you are having trouble with? As for ribbons,
I know a place - and they are cheap! -—GATOR—-
To: Bob Swoger-CENG108@emaiLmot.com
From: JShepard-Boxholm@worldnet.att.net^INTERNET
onTue, Jan 14, 1997 8:09
Subject: lit' prtr drvr
No, I've never written my own printer driver per se.
'The Z88 has a printer editor where I believe you are altering
it's driver for special needs if you know the codes, such as
underline ON = 27,45,1 & italics - 27,52, etc. I never felt
that was all that is in. a driver. I thought it involved being
able to write machine code. I would like to get the Gemini
to work with my PC (IBM).
J have no idea if the control codes are part of writing a
driver, but mat won't keep me from babbling a moment on
the subject. My manual for the Gemini does not list the
control codes. However, in '83 someone in either SMUG
or Sine-Link wrote quite a bit about the Smith-Corona
Fastex 80, which lead me to purchase one. (The ribbons
are now hard to find). The manual for it has four pages
control codes with reference to their name, dec & hex
equivalents, e.g., esc w = dec. 27,87 = lb 57 which is
turning off or on Enlarged mode.
This is all that has been on my mind for a while that I
thought "Chicago Bob" could help me, and I'll not bother
you for a while so our phone lines can cool off. Thank you
so — ===== =+++==== — j
Dear Abed,
It is time for me to renew I have received a lot of
help from a lot of people in getting my TS-1 000 going
again. I have also received help on finding upgrades for it.
I have been very busy the last couple of months with a new
job, college and moving. I will answer everyone that has
ZXir QLrve Alive! 5
contacted me, it might take me a few more weeks before I
am completely settled in.
In looking at the back pages, I see a few articles in
volumes 1 and 2 that I would like to read. Do you still
have a few copies of those? I am interested in all four
issues of vol. 1 & 2.
Once again Thanks to everyone, I will answer you all.
Ken Harbit Fresno C A
Burning the candle at both ends? How well I
know - my college days. Any of the back issues are
available for $. 75 each. Wj s !}J® u J u _ c A
mueve iv or hov
State Residency Application
(1) Name:
O Billy-Bob"
() Billy-Joe
() Billy-Ray
OBiUy-Sue
Q Billy-Mae
O Billy-Jack
(Check appropriate box)
(2) Age:
(3) Sex: M F_ N/A
(4) Shoe Size: Left ___ Right
(5) Occupation:
( ) Farmer
( ) Mechanic
( ) Hair Dresser
( ) Un-employed
(6) Spouse's Name:
Relationship with spouse:
() Sister
( ) Brother
( ) Aunt
() Uncle
( ) Cousin
( ) Mother
() Father
QSon
() Daughter
OPet
(7) Number of children living in household:
Number that are yours:
(8) Mother's Name:
(9) Father's Name: __(If not sure, leave blank)
(10) Education: 1 2 3 4 (Circle highest grade completed)
(1 1) Do you ( ) own or ( ) rent your mobile home?
(12) Vehicle Information:
„ Total number of vehicles you own
Number of vehicles that still crank'
Number of vehicles in front yard
NumbeT of vehicles in back yard
Number of vehicles on cement blocks
(13) Firearms you own and where you keep them:
truck
bedroom
bathroom
kitchen
shed
Spring 1997
(14) Model and year of your pickup: 194
(15) Do you have a gun rack?
( ) Yes () No - If no please explain:
(16) Newspapers/magazines you subscribe to:
(' ) The National Enquirer
( ) The Globe
( ) Soap Opera Digest
( ) Rifle and Shotgun
(17) Spottings:
Number of times you've seen a UFO
Number of times you've seen Elvis
Number of times you' ve seen Elvis in a UFO
(18) How often do you bathe:
() Weekly
() Monthly
() Not Applicable
(19) Color of teeth:
() Yellow
( ) Brownish- Yellow
( ) Brown
( ) Black
( ) None
According to one source (thomash@blue.misnet.com)
Hello Abed,
As I mentioned previously, I was hoping to update
my LarKen article for the newsletter if I learned anytliing
about the Byte-Back printer interface problem prior to
publication. I'm not sure where you are publication-wise,
but I've confirmed that a port conflict is involved, and
hence the problem is not solvable with some minor
tinkering to the Byte-Back printer driver, as I had hoped.
I've ended up buying an AERCO printer interface for use
with my LarKen.
The revised article is attached, if you can make use of it
Incidentally, do you have
SUPERDRIVER for the AES8CO, or
the TS 1 000 printer driver for it?
Gil Parrish
Route 1 Box 705
Beggs, OK
73430. 1 546 ©Compuserve, com
Sorry Gil, but I don't have either of them may be
oneofour ^!J^^_p^J]J^ffd b hand If!
Dear QL user,
By now you will have heard that S.J.P.D. SOFTWare
will be closing on 30th January 1 997. This was due to me
suffering another prolapsed vertebral disc commonly
known as a slipped disc. This means that: I will have to
undergo surgery to have the disc removed. This is the
second disc to suffer as I had the same problem 15 years
ago and had surgery then. Sitting at a computer has
become very painful.
In a depressive mood, I decided to close down
S.J.P.D. SOFTWare. I contacted my building society and
gave notice of closure of the S.J.P.D. SOFTWare account I
also rang all my suppliers and closed down the accounts
with them. I also contacted the editors of QUANTA & QL
TODAY to give them notice of closure of S.J.P.D.
SOFTWare^
I received a lot of letters/ faxes/email of support and
expressions of sadness of the closure of S.J.P.D.
SOFTWare. These and a more positive mood as to ray
medical condition has prompted me to reconsider the
closure. I am now very please to announce that I will
continue to supply QL Public Domain, Shareware &
freeware. However as stated, I have now closed down all
S.J.P.D. SOFTWare accounts, so I will offer these services
under my own name. This means that all Cheques must be
made payable to "S. JOHNSON" Any orders received after
30th January 1997 with cheques payable to S.J.P.D.
SOFTWare will be RETURNED. As I have new banking
arrangements I will NOT be able to accept Eurocheques,
sorry for any inconvenience this may cause but
Eurocheques have always caused a problem.
All the disks continue with the same disk numbers. I
will slowly remove all references to S.J.P.D. SOFTWare
from the disks.
_S. Johnson.
Did Yow Know?
i recently needed to send several 5.25 inch floppy
disks in the mail. I had some single disk mailers and some
disk boxes available, but neither of these quite rilled the
bill. The solution was to take a manila folder and trim it so
it would fit in a standard 8.5 by 1 1 envelope that I had
available. Then it was a simple matter to tape the disk
sleeves to it. The tape used should be some kind that can
be removed without tearing the sleeve. You can put disks
on both side of the inside of the folder if needed. Thirteen
disks were easily fitted into the folder this way.
The disks were staggered so that they wouldn't catch
on one another, and an accompanying letter was placed
inside the folder before mailing.
Les Cottrell
108 River Hts. Dr.
Cocoa. FL 32922-6630
,**^™^-*-™—*i,*--.-.-i.*~*«<**»m*m**,~-n —i , — — — — ■ i i mm i — — w i wtt* ■
Hi Abed
As you can tell I'm at a different email address.
George went and upgraded to a new NEC computer. I can
now be emailed at Juno. Please send all future email
messages to me at the new address, although Fm trying to
ZXir QLive Alive!
6
Spring 1997
get my TS2050 up and going. Do you still have and operate
a TImex- Sinclair?
Would you please resend your last message to me at
the Juno address., the message with Lassov's article? I'd
appreciate it if you could. The last time you sent this
message we were still using George's old computer and the
printer was malfunctioning. Half of the message you sent
was gibberish when it printed on the old printer. "
Bob Swoger is assisting me in my attempt to utilize
my TS2050 modem. The last time we talked my system
was not downloading properly, i don't know what's
wrong with my new modem - but Bob is trying to figure it
out.
I'll be giving him a call this weekend and hopefully
he'll have the problem figured out. I'm enjoying
computers more and more.
Well, that's all for now. Take care and be in touch.
Your friend.
Email: abqplondlie@juno.com
Jeff DeCourtney Albuquerque, NM
Sorry for the delay, but I was out of town for a
while visiting my first grandson in Atlanta, GA. A
copy is in the snail mail. Yes I still use my TS2068
with LKDOS, two disk drives and RAMDISK.
^ :x:-:;.:.i:-' ;
Sender: Bob_Swoger-CENGl 08@email.mot. com
I just read LIST for January. There is for sure to be a
QL Show USA sponsored by NESQLUG on May 3, 1997
at Bedford, PA, It must be near Washington DC as Dulles
Airport is the one to fly into.
Frank Davis will be there. Contact Bill Cable
bcable@triton.coat.com and Ed Kingsley-6lk4@a0ieom
for details.
It would be a good idea to get this news into the next
ZQA! would it not or would it be too late? It says Tim
Swenson's email address is
swensotc@ss2.sews.wpfb.af.mil - is that true or is there a
new address since he is out of the military? When you get
the LIST you will be able to pick up mode email addresses
for the LIST group. Seems like we have been out of touch
for a while, is all well with, you and Jan?
Sure has been cold here. Bet you are thankful you are
there and not here. We will, have no January meeting
because of busyness and cold weather. --=GATOR=~
77/77 Swenson E-mail address was in the last ZQA! :
s wen son t@projtech . com
Your E-mail Address has changed, apparently
yoyAi^ix&c&y® JUL &/!??.^^; ^-^_
To: 1 Q3457.2440@cornpuserve.com
Subject: Di-Ren mfolink News
X-Mailer: Di-Ren news_bas
X-User: Di-Ren Email
Email Address Change
Please immediately change the di-ren@di-ren.co.uk
Email address to support@di-ren.demon.co.uk
This change is due to continues handling problems with
the di-ren.co.uk Email address handler.
| Robin Barker Di-Ren
Dear Abed,
. . . Even though the Toronto Timex- Sinclair Users
Club shut down a couple ofyears ago, there were eight or
so members who did not wish, to lose friendships that had
developed over the years, and who, as a consequence,
continue to meet once a month, at my home. Our
discussions encompass the whole computing field, not
simply the Sinclair product. Most of us have PC's, but
also have a Sinclair/T'imex of one sort or another.
Anyway, what J really wish to do is compliment you
and Don Lambert, and all others who continue to put such
effort into the Sinclair scene, for the benefit of us all.
Sincerely, and Best Wishes for the future.
George Chambers Scarborough, Qnt
Canada
Thank you George, it is conforting to know that
ail is not lost And best wishes fwihegroug
Abed,
Nice talking with you tonight. Please enroll me in
T/SNUG.
I have stalled going thru the earlier issues of
UPDATE! as you suggested hoping to find a solution to
my printer/2068 problem.
With the AERCO CP-68 1 acquired, recently from
RMG, my 9-pin printer Star NX1000 works fine, but when
I try to use my new Epson 8260 24-pin printer, I get
gibberish. Rod was not able to help.
an y&m help?
Thanks for your patient listening.
Sincerely,
Earl L Kielgass
2015 E. Duke Dr.
Tempe,AZ 85283-241 3
602 838-4308
Ufelrmn* t& Bur Cimrntratfibg
The article I had in mind is in the October '93
UPDATE!, page 44, by the late Larry Crawford;
"24-pin Bit Image Graphics",
This is not exactly what you are after, sorry to
say, but some member must have had the same
problem. Anyone phase?
ZXk QLive Alive!
7
Spring 1997
Thanks for helping spread the word. Although this
is basically a QL event anyone is welcome and Frank
Davis will be there offering a wide range of Sinclair
products. -- Bill
Here are the initial details for the '97
North American QL Show in Bedford, PA.
Although Bedford is on an interstate exit
this is basically in the country. There is no
public transportation but the restaurant is
within walking distance of the motel. Date of
the Show : Saturday May 3, 1 997
Location of the Show
Carriage House Restaurant
Exit 1 1 off the I-70 & I-76 Interstate
Bedford, Pennsylvania USA
Phone: (314) 623-1174
Time of the show : 9 AM - 4 PM
Bedford is halfway between Harrisburg and
Pittsburgh on Interstate i-70 & I-76
format of the show
The show will include talks and
demonstrations by well known QL
personalities and sales by a number to
vendors. The show will take place in the
main dining room of the restaurant and
lunch is included in admission to the show.
After the show a banquet will be held at the
same restaurant at 6 PM Saturday evening.
All the newest QL hardware and software
will be there to see and purchase.
Admission Fees
$12 per person if you notify Bill Cable
in advance $15 per person at the door
This includes admission to the show
and LUNCH and general refreshments,
throughout the day.
Recommended Motel
Super 8 Motel
Business Rt. 220 N
Bedford, PA 15522
Phone:(814)623-5880
FAX: (814) 623-5880
1 m nm fp- ^^ft^
Also at SETTofthe 1-70 & 1-76 interstate at
Bedford.
Rates
Double occupancy with one double bed
$40.91 Double occupancy with 2 separate
beds $44.72
When you make your reservation
mention Bill Cable and the QL show to get
this special rate. The rate is per day. There
are 57 units, Exercise equipment, HBO,
Free local calls, waterbeds, children under
12 free.
Recommended Airports
Dulles International Airport
Washington, DC This is about 2 % hours
by car from Bedford
Pittsburgh Airport
About 2 hours by car to Bedford
Harrisburg Airport
About 2 hours by car to Bedford
A more detailed agenda will be
released on February 10th. There will be a
dinner gathering 6 PM Friday night also at
the Carriage House Restaurant. Those
flying in to airports and needing rides to the
show please contact Bill Cable and every
attempt will be made to connect you with a
local QL person going to the show who can
meet you and give you a ride. Likewise, QL
people driving to the show who would like
to give a ride to a QL enthusiast from far
away please contact Bill Cable.
This is the 5th annual North American
QL show. It is being sponsored by
NESQLUG (The New England Sinclair
Users Group) and all details are being
handled by :
Bill Cable
NESQLUG Director
RR3 Box 92
Cornish, NH 03745 USA
Phone:(603)675-2218
E-mail : bcable@triton .coat.com
ZXir QLive Alive!
8
Spring 1997
Donald Lambert
After all the lousy weather maybe we are headed for
spring, but! it did snow this morning and it has almost all
melted. I have my taxes figured and mailed so things do
look better now. With that moaning and groaning about
the weather and taxes out of the way
I have progressed in my typing in the tutorials
from the newsletters and currently I am on my 4th disk of
material. More on that later.
I had a call from Earl Kielgass, 2015 E. DUKE
DRIVE; TEMPE AZ 85283; Tel (602) 838-4308; in which
lie sought information on how to use his new 24-pin
epson printer on the T/S 2068 using the aerco printer
interface. That was Saturday February 18th He uses the
LarKen disk interface so I searched for 24-pin printer
software and 1 found two disks but they were for the
Oliger. I contemplated the problem of transferring the files
from Oliger to LarKen but before I started, 1 once more
went through my master file of LarKen software. 1 found
two disks but the labels weren't exactly what I thought I
was looking for. A comparison of the directories of the
disks revealed that the LarKen was almost an exact
duplicate of the Oliger material. So I used D.U.S. and
coPYis.Bi to copy the disks for Earl. Earl called Saturday
February 22nd to report that the disks had arrived and mat
the other disks I had sent looked very interesting. He had
not 'hied to do anything with the printer information. If
any one has anything on a 24-pin epson printer and the
aerco printer interface let either me or Earl know. While
Earl only has the LarKen disk interface, I have the Oliger,
the Lai-Ken and the aerco disk interface. Earl only has 40
track (dsdd) drives.
On Sunday I had a call from Fred Stern in which he
had Ms one and only copy of masterscribe (a T/S 1000
work processor) copied over, apparently his daughter had
grabbed what she thought was a blank cassette to copy a
CD. I steered him to where I thought there was a copy-
Discussion led to my mentioning the tutorial project but
he only has the aerco disk drives both for the ZX81 and
the 2068. He was interested but tire thoughts of all that
paper if printed out and the cost of printing and mailing.
After the phone conversation ended I remembered the
article that Les Cottrell had wrote about the Radio Shack
Mini audio amplifier 277-1008 for $11.99. Put a 9 volt
battery in it and plug it in between the two 2068s.
I have two 2068 computers located 51 inches
apart on separate computer desks. The right hand
one is set up with the AERCO disk system only. The
left had 2068 has the LarKen/Oliger disk systems
setup. Normally I use the Oliger disk system and the
others when and if needed or the fancv strikes me.
The left hand computer with the Oliger interface has
an audio cord from the MIKE jack to the input of the
audio amplifier. The audio amplifier ext. Speaker
jack goes to the EAR jack of the AERCO computer. I
do have one extra item in the line up and that is a
meter to monitor the output of the amplifier to keep
from blasting the ear of the AERCO computer. The
files of the tutorials are in mscript. And I have
MSCRIFT V5.5 for each of the disk systems. To
transfer the files from Oliger to aerco I power up
the AERCO system and got mscript loaded and a disk
formatted. In the menu mode I press the U key to trigger
the change from disk to cass. I then press the L key to
get the load a cassette software and I press enter. That
gives the cassette LOADing pattern on the monitor I then
turn on the audio amplifier full on (The nine volt battery I
am using is just marginal for use according to a Radio
Shack battery tester). I then load mscript and the file I
want to transport to the aerco disk and change the file
name if necessary to something that the aerco will accept
and press the U key to trigger the change from Disk to
cass. Then I press the S key to save and when the
query to save filename? appears, I press the Y key for Yes
and get trie start tape and press enter . When I press enter
the Oliger monitor displays the SAVEing pattern and a
brief moment later the other monitor displays the load
pattern.
When tire load is completed, I go to the aerco
computer and press the U key to trigger from cass to
disk, then the S key to save and on the save filename I
press Y and the disk drive goes to work. When the s ave
is complete, I press C for cat and press the enter key
twice to get the cat done. A look to see if the file saved
correctly as far as number of bytes, then press the U key to
change from disk to cass and press L and enter to get
ready for the next file to be transferred, i found that a
printed out directory on tire Oliger was a necessity to be
able to not miss a file and have the correct file name It
does require concentration to avoid problems. The
copying the files from one dos to the other is not fast but
a lot faster than SAVEing to cassette and reLOADing tire
files. In the future I will transfer the files as I type them in.
I am currently typing in Sinc-Link which was the
newsletter of the ITS UC of Toronto. Since I have almost
all the issues. I started with their first and am now where
they are starting to discuss the various disk drive systems.
Some of the early articles are very interesting. I learned
more about machine code presented in such a way as to
make sense. Of course the early articles were on the ZX81
only. Since I have the newsletters filed by name
alphabetically, this will put ZXir QLive Alive! last, but! I
don't know if syntax is a newsletter or not. I sort of
considered it a magazine because of its price. After the
newsletters, will be all the magazine articles and there are a
lot. Which will give up first? Me, the computer or the lack
of any other T/Sers out there? With that I close this issue's
column! § $ a
ZXir QLive Alive!
9
Spring 1997
from THE RAMTOP by Max Schoenfield
IRA's (Individual Retirement Accounts) are good
those who can afford them. At present you can put up to
$20,000 a year into such an account, and reduce your
taxable income by the amount of your deposit. You can
not withdraw any money until the year in which you
become 59 l A without suffering a penalty. Many banks
have displayed ads telling how much you will have at
retirement age, assuming a given rate of interest. Banks
offer various options for the systematic rate of withdrawal
of funds, but no such infonnation has been advertised.
This program provides for a uniform rate of
withdrawal. You must state the beginning amount (how
much you have accumulated); the assumed rate of interest
(a guess on anyone's part); and the number of years of
pay-out (must be equal or less than your life expectancy at
retirement).
The process is called iteration. The amount of annual
pay-out is first estimated by the variable "c" and then the
process is repeated until the balance left after the last pay-
out: is within one dollar of zero.
The first display shows the amount left after the last
pay-out alongside the annual payment The second
display shows the balance of funds for each year once the
pay-out amount has been established.
10 REM "IRA"
15 REM - by Max Schoenfeld
20 INPUT "How much money to start? $
'Expected interest rate? w ;b
'How many years to pay out?
30 INPUT
4 0 INPUT '
" ;d
50 PAUSE 50: PRINT "This table shows
how much money remains in the account
after ";d;" years, with the amount of
annual withdrawal . "
100 PRINT'
11.0 LET c=a/10
120 DIM a(d+l)
125 FOR x=2 TO d+1
130 LET a(l)=a
140 LET a(x)=a(x-l)*(b+l)-c
150 NEXT x
160 PRINT a (d+1); TAB 12 ;c
200 LET c=c+a{d+l)/ (d*d)
205 IF a(sd
H)<=1
AND a(d+l)>=- 1 THEN
GO TO 300
210 GO TO
305 PRINT'
paying out
year - "
125
"Balance by year,
w ;c-(a(d+l))/(2*d)
after
" each
307
310
320
330
bOR X--
PRINT
--2 TO d+1
<"~l); TAB
203
7.1549
2037. 0282
.0;a(x)
NEXT x
PRINT' "Total pay-out is $
";d* (c~(a(d+l) )/ (2*d) )
Below is an example of how the program works, Start
with $20,000 in the account . Assume an interest rate of
.08%. Plan for a 20 year pay-out.
This table shows how much money remains in the
account after 20 years, along with the amount of annual
withdrawal.
1695,2.143 2000
-244.19408 2.042.3804
35.175967 2836.2755
-5, 067121
0,72983313
Balance by year after paying out 1037.0237 each year.
1 19562.972
2 19090.981
3 18581.232
4 18030.702.
5 174 36.13
6 167 93.992
7 .16100.4 83
8 15351.4 93
9 14542.585
10 1.3668.963
11 12725.452
12 11706.4 6
13 10605.94 9
14 941.7.3963
15 8133. 75ge
16 6747.4323
17 5250.1987
18 3633.1863
19 1.886.813
20 0.72983313
Total pay-out is $ 40740.565
The LarKen Disk System
by Gil Parr is h.
It is an inherent problem with any user support
group that a newbie does not receive the full benefit of
prior activity., Obviously, a user who first shows up in
April does not get to see the hardware/software
demonstration given in March. And because the prior
activities are thereafter "old hat" to the people who did
participate in them, old subjects may never be raised again.
ZXir QLive Alive!
10
I was reminded of that recently when I set out to get
disk drives for my 2068. I've never had anything except
tape drives, so I've paid only the barest attention to disk-
diive-related matters. But when I picked up an unused
LarKen Disk Interface kit from a T/S enthusiast who never
got around to trying it, I suddenly got VERY interested in
the subject of the LarKen, only to discover that a basic
discussion of what the system is, how you connect it up,
Spring 1997
and what it does, seemed to be missing from prior issues of
this newsletter- no doubt "old hat" to most. What's a
newbie to do? So, for the benefit of future newbies, this
article is a "beginners-eye review" of Larry Kenny's
LarKen Disk Interface system, with particular emphasis on
set-up.
□
esa My first reaction on receiving the kit was- this is
it??? While some LarKen systems may come with disk
drives added by the prior owner, the basic kit simply has
two smallish circuit boards, a rather-cheesy manual and a
disk. Nothing else. The manual mentions almost casually
that you also need a disk drive, power supply for the drive
and a cable to connect everything up, but does not go into
any detail on how this is done. Is connection really so
easy, or is the manual deficient on that point?
£53 It turns out to be just about that easy. External disk
drive units, having their own power supplies in the case,
are available in the used market for a variety of early
computers. Some of these drives (e.g., Commodore and
Atari) are "intelligent" peripherals and would not be a good
choice for a LarKen system because they have been
heavily modified for their particular use. But others, like
those made for the Tandy/Radio Shack Color Computer
("CoCo"), are fairly generic disk drives that require a
separate disk controller- which the Lai-Ken provides. If
you find an external unit housing a drive that meets your
needs, you can use it as-is without getting into issues of
power cabling and drive configuration at all.
ess However, if you need or want to replace the floppy
drive that comes in an external case, that chore is not
difficult. You have a wide choice of replacement drives
available to you, since the LarKen will work not only with
standard 5-1/4" DSDD drives with 40 tracks per side
(which probably has the greatest compatibility with other
LarKen users) but also with older 5-1/4" floppy
mechanisms like 35-track per side drives, 80-track per side
"quad-density" drives, and single sided instead of double
sided drives, as well as 3-1/2" drives. Luckily, most drives
have standard power connectors and cable interfaces so an
old drive can be taken out of an external case and an
appropriate one configured and installed fairly easily with,
the same wiring. "Power splitters" are available from
sources like Radio Shack if your external case has one full-
height drive and you wish to replace it with two half-height:
drives (which typically use less power each). Power
converters are also available if you want to put a 3-1/2"
drive in a space wired for 5-1/4". If you uncover no
external drive case to suit your needs, another possible
power source is a computer power supply (inside its
shielded case) removed from a junked PC or similar. Such
unit likely has the disk drive power cables already in place
and set to go. But of course, in that event you'll have to
come up with a separate box to house the floppy drives.
Q
ess Configuring a drive involves setting the drive to the
number to which you wish it to respond. The LarKen
refers to the drives it controls as "0" for the first one, "1"
for the second, and so fort h, and most floppy drives use
the same designations (although you may run into some
that use letters Eke "A" and "B"). Typically, there are two
rows of pins somewhere on the drive circuit board with
designations like "DSQ" for drive 0 and "DS1" for drive 1,
next to different pairs of pins. Look for a small slide-on
connector tying a pair of pins together, and place that
connector on the pair of pins next to the appropriate drive
number. On older drives, you may find instead a
configuration shunt, which will require you to cut the
connections you do not need (e.g., for drive 0, cut the ones
labeled 1, 2, & 3), or alternately, to reconnect up (with
solder or wire) a previously-cut connection you do want.
These older drives may also require a terminating resistor
on the last (highest-numbered) drive; such resistor
normally looks somewhat like a regular- IC chip with 14 or
16 pins and has the resistor value written on it. So, if you
take a pair of older drives out of another unit for this
purpose, the one with the resistor will need to be the last
drive, or the resistor will need to be pried out and relocated
to the drive you want to be last.
with
Hie required interface cable, typically a ribbon cable
34-pin Shugart-comparible female edge-card
connectors on both ends, were common a few years ago
and should not be hard to find. For instance, the CoCo
cable, which is a flat cable without the "IBM Twist" in the
middle (a segment of the wires twisted 180 degrees from
how they would normally attach), will work. I did not test
an "IBM Twist" cable.
H in my situation, I removed a full-height 35 track
drive from a CoCo external drive unit, and replaced it with
two half-height 5-1/4" DSDD 40-track models, utilizing a
power splitter. I picked up those drives for about $5 apiece
in a used software/hardware store; sometimes whole
original PC -type computers can be found in the $]0-$20
range and stripped of drives and any other appropriate
parts. The new drives didn't exactly fit the case like a hand
in a glove (screw holes in wrong position and such), but
they did go in, could be locked in place with a little
electrical tape, and functioned fine.
ZXir QLive Alive!
11
ess As stated, two separate boards are needed by the
LarKen system. One slides into the expansion port
connector in the back of the 2068; that one, which has a
pass-through interface for other peripherals and a 34-pin
Shugart compatible card edge, is the actual disk interface to
which your disk cable attaches. The other board goes into
the 2068 cartridge port on top; this is the brains for the
system, and avoids you having to load the operating
system every time you turn on the computer. Command-
wise, the LKDOS operating system makes your life is a bit
more complicated because, when you wish to access the
cartridge/drives, you are required to give a RAND USR
100: command (or a PRINT #4: command, if you have
previously given a RAND USR 100: OPEN #4,"dd"
command) preceding any disk instruction (e.g., RAND
USR 100: LOAD "FILE.B1"). Giving such long
commands can get old, but the right software can alleviate
this (see LogiCall below).
Spring 1997
ess With LKDOS alone, the system can LOAD, SAVE,
rename files, erase files, give you a disk CATalogue, send
the catalog to printer, and perform other simple, tasks.
Additional common disk-handling functions are done by
separate programs. These extra utilities are what are on the
LarKen System Disk, and include such things as
fonnatting, copying whole disks if you have two drives,
copying files from one drive to another, and copying files
from one disk to another on a single drive (through "disk
swapping", which gets old fast since each program on the
disk requires at least one and sometime more than one
swap from source disk to destination disk and back again).
These programs pretty well complete the list of basic disk
handling functions, though different and additional utilities
are available in T/SNUG's LarKen Library if you want
them.
□
ess But as the old carnival barkers used to intone, "You
say that's not enough? You say you want more?" Well,
the LarKen delivers more in additional features not strictly
necessary to its basic mission. For instance, the system
has built-in printer drivers that allow the LarKen to work
with the AERCO, TASMAN and A&J parallel printer
interfaces without loading extra code. It does NOT have
built-in code to work with the Byte-Back parallel printer,
and therein hangs a tale. 1 have (you guessed it) a Byte-
Back parallel interface. The LarKen instructions state that
you can load a separate parallel driver, tell the system
where you placed it (with the appropriate POKE), and the
system can use it. The cartridge even has some free RAM
where you can stash the code and not use up any regular
memory. Perhaps for some printer drivers this would be
more than enough, but for reasons beyond what "read the
manual" would solve, I am unable to successfully load and
access the Byte-Back printer driver. I assumed there were
lots of folks out there with LarKen/Byte Back systems who
could advise me, but the Lai-Ken experts I consulted had
never run across this problem. I even dropped a note to
David Leech, who is Mr. Byte-Back himself and a very
helpful gentleman, but have not received a reply. If anyone
KNOWS the solution (not "such-and-such OUGHT to
work'% I'd still, be interested. But in the meantime, the
LarKen works well enough with my 2040 to print out disk
catalogs and do other similar light-duty tasks.
□
ess The LarKen system supports the replacement of the
2068 ROM with a Spectrum ROM for running Spectrum
software, or (with some minor hardware hacking) placing a
Spectrum ROM on the interface in addition to the existing
2068 ROM (and here, Bob Swoger can supply you with fee
needed socket, and ROM for $12, see his kind offer
elsewhere in this newsletter). The system has a Kempston-
style joystick interface, for use on those 2068 or (usually)
Spectrum programs requiring Kempston joysticks,
' Perhaps most importantly, the interface has a "snapshot"
feature that allows you to freeze a program in memory and
save the image to disk. The primary use for this is moving
to disk all those old cassette-based games that autorun
D
ess I stated above that giving thos e long disk
ZXir QLrve Alive! 12
commands preceded by RAND USR 100: or PRINT #4:
can get old after a while. I also noted the manual was a bit
cheesy. Enter T/SNUG's very own Bob Swoger, who both
wrote his own LarKen auxiliary operating system called
LogiCall, and rewrote the LarKen manual (which is
bundled with LogiCall) to be clearer and more
professional-looking. LogiCall, up to version 6 0 now, is a
commercial program available for $15 from RMG or FWD
Computing (see the ads elsewhere in this issue). A full
review of LogiCall is beyond the scope of this article; a
review of LogiCall 5.0/5.2 by Abed Kahale appeared in the
Spring 94 issue of ZXir QLive Alive!, and Bob Swoger
himself wrote a piece on LogiCall for the Fall 1996 issue.
But suffice it to say here that it makes your life easier. You
can arrange to autoload LogiCall by holding the ENTER
button when you turn on the unit. (Actually, this autoload
capability is built into LKDOS and is not unique to
LogiCall, but LogiCall makes the best use of it) LogiCall
men presents you with a disk menu; you can move to get a
menu from another drive with a single keystroke. The
system allows you to load the program you want by typing
in the name or cursoring down to it; and, you can perform
many disk functions (like renaming, getting a disk
CATalogue, or erasing) right from the menu with a couple
of keystrokes. The software makes calls to certain utilities
particularly easy, and even integrates a number of
application programs (like Tasword Two and Vu-File) into
the LogiCall system so that you may return to the LogiCall
menu after exiting such programs without resetting the
computer. Abed indicated in his article that using LogiCall
was like upgrading from a gear-shift to an automatic with
overdrive, and the analogy is useful. Perhaps more
precisely, it feels like upgrading from a disk system which
is a functional but somewhat awkward add-on to a
computer not really designed for disk usage, to a system in
winch tiie drives are integrated so well that they appear' to
have been part of the system from the start. 1 would
definitely recommend the LogiCall software.
□
Incidentally, LogiCall provides a clue about how to
set up your 2068 system to achieve maximum text
readability: it automatically changes the video display to
light letters on a dark background, the opposite of normal.
As you likely know from experience, a light screen tends to
be overrun with what Fred Blechman's "The Timex
Sinclair 2068 Beginner/Intermediate Guide" refers to as the
"crawlies", being "wiggle lines that pervade the picture and
are particularly noticeable on boundaries between colors."
TVs show a lot of crawlies, and monitors aren't much
better. Worse, color displays of any kind- TVs or
monitors- can also show color bleeding and other color
side effects that hurt text clarity. My suggestion is to
follow LogiCall' s lead as far as it will go by finding a
monitor that is monochrome composite (sometimes called
"black and white" although usually green or amber on
black). These things are practically being given away ($5-
$10) when you run into them at garage sales and similar
locales. By going light text on dark (which can be done
with the appropriate PAPER. INK and BORDER
commands if you do not have LogiCall), and by turning
Spring 1997
down the brightness on the monitor until the background is
completely black, you can get sharp, readable text with an
absolute minimum of crawEes and no color bleeding. You
will especially appreciate this if/when you go into Display
Mode 2 (64 column text) to use Tasword Two or other text
applications. I would recommend in particular one of the
old Zenith Data Systems monitors, which have a "40-80"
switch on back. The "40" setting gives you a normal
picture, while the "80" setting widens the aspect ratio of
the picture, making those tall & thin 64 column characters
fill out a bit more for better viewing. This is a FAR better
situation video-wise than having to squint to tell a "w"
from a "u" while crawlies and color bleedrne run wild
across your screen.
Several other types of disk interfaces are available
for T/S systems. In the same Spring 94 issue mentioned
above is information from The John Oliger Company (see
ad elsewhere in this issue) as to "why the Oliger disk I/F
with JLO Safe is the best available for your TS-2068".
AERCO, Ramex, and Zebra (TOS) are other choices you
may run into in the used market. Not having any of these
others, I cannot offer a comparison. But I can state that the
LarKen (particularly mated with LogiCall) offers a number
of convenient features and works quite reliably. It would
not be a bad choice for any 2068 owner.
QHJ Announces New Freeware
QHJ Freeware has just recieved the following new QL
programs As with all QHJ Freeware files, these can be yours
by just sending disks and return postage to the address
below.
From Jonathan Hudson:
Qeyes (8kb, 1 Jan 97)
PE Button that has two eyes that follow mouse cursor.
2giftif(80kb,4Jan97)
Tools to convert _scn and _pic to GIF, TIFF, or PBM.
MIME Tools (439kb, 1 Jan 97)
Tools to handle MIME files (Binary E-Mail riles). MetamaiL
mailto, splirmaiL mmencode, etc.
Ghostscript 2.6.2 release 3 ( 24 Dec 96)
Program to view and print Poscript files. (3 files)
(506kb, 683kb, 683kb)
QVM .008 beta (145kb, 25 Dec 96)
Quintessential voice mail. Supports QFAX 2.80 Class 2 mode
QFAX2.80 (5 Oct 96)
Execs and Docs (225kb)
Support Files (243kb)
Poscript Manuals (157kb)
HTML manuals (89kb)
PS-Printer Bug Fix (SSkb, 6 Nov 96)
Fixed Things Utilities (36kb, 26 Oct 96)
From Jerome Grimbert:
Comes a Chess program for the Pointer Environment..
chess.zip (184K)
From Phi! Borman; (all released 6 Jan 97)
Pboxl.16 Latest Pbox BBS Program
Fido 1 . 16 Fido mailer and assoc. utiis
QWK 1.16 QEK Offline reader
QtoP 1.16 Qbox to Pbox conversion routines
From Arvid Borretzen:
Norbak Backup program
Doctor File/Hex editor
From Dave Walker:
C68 Compiler Binary Update (68kb, 17 Nov 96)
C68 Compiler Source (390kb, 10 Dec 96)
C68 Compiler Docs (35kb, 10 Dec 96)
(All of the above require C68 4.21a)
GWASS Assembler 3.22 Binary (50kb, 20 Nov 96)
GWASS Assembler 3.22 Binary + Source (224kb, 20 Nov 96)
C68 LIBC 4.22d (75kb, 8 Dec 96)
FPU Support for QDOS 1,12 Binaries (45kb, 1 Jan 96)
QL Profiler (60kb) (Author: Francois Lanciault)
Tells you where C program spends most of its time.
If there is any other software that you have heard about,
that is not on this "list or my main list, please let me know
and I'll look into getting it. All of these files have been
downloaded from various web pages. My thanks for those
that did this, since it makes getting the software so much
easier and taster.
QHJ FREEWARE
C/O TIMOTHY SWENSON
38725 LEXINGTON ST 230
FREMONT CA 94538
(510)790-7034
http://vvwvy.geocities.com/SiiiconVailey/Pines/5885
introducing Aurora
QL Graphics card
The Aurora is a replacement QL motherboard and a
graphics card, all in one product. It is intended to be used in
boxed QL's with PC power supplies, but can also (with
some work) be mounted into a standard QL casing (this
involves soldering, though, and should be undertaken only
by people who know what they are doing! ! !)..
The Aurora requires the user to pull out the 8302 ULA
and any kind of IPC (and/or keyboard interface) from their
existing QL setups and plug those chips into the Aurora.
We can also supply Aurora with 8302 and/or IPC of your
choice for an additional price.
Features
Can use old QL and VGA, SVGA or midrange
mulosynch monitors, displaying various maximum
resolutions (depending on the monitor). Output levels can
be set using jumpers on the board to acomodate
monochrome, TTL RGB, analogue RGB or TTL-level
analogue RGB (Microvitec CUB) monitors. Depending on
the monitor type various connector adapters may be needed
- the board is delivered with a VGA 15-pin mini-D
connector adapter (as used with VGA/SVGA and most
mulfisynch monitors)
ZXir QLrve Alive!
13
Spring 1997
Maximum resolution is 1024x768 in 4 colours (MODE
4), 512x768 in 8 colours (MODE 8), 1024x480 in 16 colours,
512x480 in 256 Mousing holes in c^^^
colours. The actual ^^^|^f^i^|aSi§fe^fS
maximum resolution C^ (ofily
displayed mav be fortliebrav
riser-sockets (available on request) even the Falkenberg
interface will work (although it's almost as large as Aurora).
. connector
:Bf*ROM capacity)
may
lower depending on
the monitor type. In
particular, old QL
monitors will display a
maximum of
1024x288 if interlacing
is disabled, and
1024x576 if interlacing
is enabled. VGA and
SVGA monitors will
also display a
maximum of
1 024x576 if interlacing
is disabled. Refresh
frequencies have been
optimised to the
highest permissible
rate on the monitor
selected. Hie Aurora
will in any case
automatically limit the
size of the display 1 • ::; - ;/ '-- ; v ''
depending on both monitor and Aurora's limits. Interlace
enabling is left to the user (this can affect resolutions
displayed) - interlaced displays will not be of high quality
on QL monitors, this being the fault of the monitor itself.
Resolution is selected on the basis of 4 horisontal
resolutions: 512, 640, 768 and 1024 pixels. In addition, for
any of the 4, one of two aspect ratios can be selected - 2:1,
common to QL displays, where the number of pixels in the
vertical direction is half of that in the horisontal (512x256,
640x320, 768x384, 1024x512), and 4:3, common to QXL,
QPC and QVME users (512x384, 640x480, 768x576,
1024x768).
Modes are selected separate of resolution. Mode 4,
and the new modes with 16 and 256 colours are provided.
Mode 8 is also provided for compatibility, and will display
half the pixels in the horisontal direction with respect to
mode 4, just as a QXL would. As on the QXL, flashing in
mode 8 is ignored, but the data for it is retained for
compatibility reasons.
Programs accessing the original screen area will display a
picture in the top lefthand corner, regardless of resolution
selected, as long as the screen is an mode 4 or 8.
Please note that in order to use the higher resolutions
and more colours, a Super Gold Card is required. Tne card
can be used with a Gold Card as well. The ability to use
VGA/SVGA or multisynch monitors is NOT affected by the
use of SGC or GC - mis will work with both.</b>
Will accept any IPC on the market (superHermes is
highly recommended, there is a special superHermes
jumper which relieves you from using the superHermes
flying lead) and any PC keyboard interface - with some
Monitor. Output
je vet jumpers
Monitor
Reset,- siet*'
S^^^^^M— speaker, power
nHI: . ; ' and ncYLEDs -
Sera
.. jumpers
;M«fflbjrsM fayfear4;3?*dv .; :
CAii^) IPC cbip 6noi« your QL /rvV
Serial port connectors provided can be used with PC-
style connectors (as used on PC 10 cards), using simple flat
cable with press-on connector adapters (IDC 10 to D9).
Ports use the standard PC wiring so you can use standard
PC cables you can cheaply buy in computer shops.
On-board QIMI compatible mouse interface is
provided for QIMI users, as the original QIMI interface
cannot fit onto the board because of the size).
Enhanced ROM socket can accept. QL ROMS (both
stacked onto each other, piggyback), Miner/a (any version)
or an EPROM (including the Minerva EPROM without the
Minerva PCB), 64, 128, 256 and 512k sizes are supported,
with the OS automatically recognised in the first 48k. We
are currently working on extensions which will enable
loading of programs from the EPROM if a larger size
EPROM is used. Type of chip used in the ROM socket is
selected by jumpers.
Enhanced ROM slot can be used with existing ROM
slot peripherals (by use of a small adapter cable;. For
tinkerers, additional lines are supplied - RAV, RESET,
EXTINT and a special select line which decodes the unused
part of the QLs IO area (15.5k total space).
Membrane keyboard and mouse connectors have been
replaced by a 20-pin header. This can be used for
applications which need only a few keys, or with an adapter
(1 1 diodes and some cable - total cost about 5 Pounds) the
QL membrane keyboard can be connected.
The board is powered from 5V power, we suggest
using a QPlane for this (an easy, no-solder solution), in case
of fitting into a QL case, a separate connector is used to
connect a +5, +12 and -12 (and optional +9V) power
supply, which the user has to provide.
ZXir QLive Alive!
Spring .1997
PC case compatible header is provided for a reset
switch, power LED, speaker, and network LED (we use the
PC case Turbo led for this!), A simple cable adapter will
connect standard QL net ports to this header as well.
There are NO nucrodrives and NO TV modulator! !
DRIVERS
Immediate high resolution support, is available for
SMSQ/E users, in modes 4 and 8, by applying a patch to
SMSQ/E. 16 and 256 colour drivers will be available in the
future (see below!)
LAST MINUTE NEWS
Tony Tebby is currently working on extended screen
drivers which will allow more colours to be used on QXLs
and QPCs, and possibly other SMSQ/E systems. We are
taking steps to insure that they will work on the Aurora too!
The card will be available in 4 to 5 weeks from
Qubbesoft PD, for 120 UK Pounds, plus postage and
packing, user manual, SMSQ/E patch software and utilities,
and VGA lead included.
FUTURE PRODUCTS
We intend on producing a successor to the Super Gold
Card, again we haven't thought of a name for it yet but it
might be called 'The Gold Fire'. The project name we have
given it is 'The Super Duper Gold Card', this doesn't mean
it is going to be called this when we release it for resale.
Early specifications are as follows; -
Upto 64Mb of RAM using a 72 pin SIMM, options
being 1,2,4,8,16,32 or 64MB. A Bi-directional Parrallel port
enabling connection of back-up devices etc. An I2C port
similar to the one on Minerva.
Other items that we are looking into producing are an
ETHERNET Card for the QL, which will speed up the QL -
> QL Network. A FLASH EPROM card that can be
programmed and re-programmed from software.
If their is an>1hing that you feel the QL is lacking,
hardware wise that is, please let us know and we will try our
best to look into it and see if it's possible. For further
information on any of the products we carry for the Sinclair
QL please contact us at the address below:-
QUBBESOFT P/D
38, BRUNWiN ROAD
RAYNE, BRAINTREE
ESSEX. CM? 5BU
UK
TEL: +44 (0)1376 347852
FAX: +44(0)1376 331267
#26 December 1996
Supporting All QL Programmers
by Tim Swensori
The QL Hacker's Journal (QHJ) is published by Tim
Swenson as a service to the QL Community. The QHJ is
freely distributable.. Past issues are available on disk, via e-
mail, or via the Anon-FTP server, garbouwasa.fi. The QHJ
is always on the look out for article submissions.
QL Hacker's Journal
c/o Tim Swenson
38725 Lexington St #230
Fremont, CA 94536
swensont@geocities.com
Mtp://www..geocities..com/SilconVal.ley/Pines/586.5/index.h
tail
Uxor s fon
It's hard to believe that the last QHJ came out last
May. What have I been doing? Well, let me tell you..
Since May 1 have had a number of life changes that have
kept me busy.
The first is a change in jobs. I decided to leave the Air
Force and seek employment else where. I spent a number
of months looking tlirough technical career newspapers
and various technical job related web pages, looking for
job openings. I found the San Jose Mercury News Talent
Center to be about the best place to look, esp. for the SF
Bay Area,
Related to the first change, was leaving my job. I had
to finish a few tasks and then document my job so I could
pass it along to someone else. Documenting what you
know is not as easy as it sounds. I also had to spend some
time out-processing from the service.. It takes paperwork to
ZXir QLive Alive!
15
get in the service, and it takes even, more to get out.
The final and biggest, change was moving from
Dayton, OH, back to the SF Bay Area, Getting the house
ready for moving and getting it ready to sell took a while. I
had to do some painting, replace a few doors (one cracked
and one warped), patch some mortar on the brick outside
of the house, and a few other household chores..
This all left very little time for hobbies. About the
only time I used the QL was writing cover letters and
printing Resumes, And since the move my access to the
Net, esp.. USENET has been limited.
I am waiting for my house to sell in Ohio, so I moved
into an apartment. This meant that I had to put a number
of household goods in storage. The movers did not do a
good job of putting the right stuff in the right boxes so I
could get what I needed off the moving van and put the
stuff 1 did not need in storage . This meant that my QL is
with me, but. the disk drives, power supply, mouse, and
modem cable are in storage. I've had to borrow disk
drives, a PC power supply, and a QL power supply to get
the QL up and rartning. I still have to make a modem
cable. I'm using my Z88 for my telecomm needs, and it's
tough finding an Internet Service Provider that, supports 8
lines of display (real tough). Once I get a modem cable
built I should be able to read comp.sys.sinclair.
Speaking of the Z88, most of this issue lias been
written on the Z88 while riding BART (the local commuter
rail system) to work. I have about a 50 minute BART ride,
so I have lots of time to put to good use.
And also spe aking of work, I am now working for a
Spring 1997
company in Berkeley called Project Technology. They
were founded by Sally Schelor and Steve Melor, creators
of the SM Object Oriented Analysis Method. My job is to
maintain the Sun UNIX boxes and the PC's.
While I've been busy doing non-QHJ things, I
noticed that no one sent me e-mail asking where the next
QHJ issue was. I'm not too sure if this is a good sign or
not. Granted it was nice not to be bugged, but then I have
to wonder if the QHJ was missed.
One thing you will notice with this issue is the
number of articles with no code. I have not had the time to
sit and code at the QL, so I've written some articles and
covered what code was necessary with pseudo-code.
Well, that's about enough for me. Oh, since I have
just moved, please note the new snail mail address, but
don't write it down in ink. I hope to buy a house
sometime around the March or April '97 time frame. Here
now the newsletter.
Exclusive OR Encryption
I've always been interested in encryption. Keeping
my files safe from prying eyes has been more of a want
than, a need. Plus encryption is a neat programming
problem to solve. Many years ago I wrote a program
called QL Crypt that was my first look at encryption. In
QHJ XX there was Complex ASCII Rotation (CAR) that
was aimed at encrypting mail messages just enough to
make mem secure from casual observers. There are many
other ways to encrypt files, each with it's own level of
safety.
Encryption is based on two parts, the Method and the
Key. The Method is what various computations are
performed to get from the clear text to the encrypted text.
This is equivalent to a lock. The Key is the chunk of data
used to make one encryption different than an other. Since
the encryption Method does not change, it is the Key that
makes your text encrypted different from somebody else's.
This is the equivalent to, well, a key. A specific model of
lock is manufactured into a thousands of individual locks.
These locks all look and work the same. It is the key that
makes each one secure and different from the others.
There are many methods used in encryption, from the
very easy to break, to the damn near impossible, line
harder to break, the more computation necessary to
encrypt. If you are worried about wasting computational
cycles, then you need only implement the Method that
secures the information to the level you need it. Securing a
Christmas gift list is different than securing company trade
secrets.
QL Crypt and CAR both used a character rotation
Method for encryption.
As each character was read in, a value of 1 -4 would be
added to their character value (CHR$), based on the Key,
and then output to the resultant file. QL Crypt allowed the
encryption of binary files, CAR stayed with pure ASCII
text so that it could be sent in e-mail.
Each one of these Methods, and many more, require
the use oftwo functions that are the opposite of each other.
In character rotation, a value would be added to encrypt,
and subtracted to decrypt. What ever gyrations you go
through to encrypt you must reverse to decrypt. Exclusive
OR encryption does not have two opposite functions
because Exclusive OR is the opposite of itself.
Exclusive OR (XOR)
Bit 1__ Bit 2 XOR
0 0 0
1 0 1
0 1 1
1 1 0
When using Exclusive OR with a bit pattern, what you
XOR it with is usually called the Mask. To show you how
XOR is the opposite of itself let take a look at the binary
pattern 0101 10 XORed with the mask 111111.
Bit Mask XOR Bit Mask XOR
0 11110
110 0 11
011110
110 0 11
110 0 11
0 3 1110
Notice that after XORing the bit pattern with the
mask and then XORing the resultant bit pattern with the
mask the original bit pattern returns. This means that
writing the program to implement XOR encryption does
not require the writing of an encryption routine and a
decryption routine, only one is XOR routine is needed.
The Mask that is used in the XOR routine is derived
from the Key. How secure you data is, is dependent on the
Key and its length. If you use a Key of length one (1 byte)
then it would take only 256 tries to break the encryption.
The longer the Key, the more tries necessary to break the
encryption.
QL Crypt used the random number table in the QL as
the key. A password was ENTERed from the user, which
then was used as the seed value for the random number
table. This makes for very strong encryption (as the
random number table is fairly large and makes a long Key),
but it make it impossible to port to other platforms. Even
differences in QL ROMs could cause the program to fail.
CAR used a ASCII password ENTERed by the user.
This makes the program very portable, but also makes it a
weaker form of encryption. If the user typed in a fairly
long password, then the level of security would go up.
Constructing a Spell Checker
A spell checker is usually comprised oftwo parts:
1) word lookup (to see if a word is spelled correctly)
2) word suggestion (to suggest the correct spelling of
the word). Past issues of the QHJ have looked at different
algorithms to tell how close two words are, a key part of
word suggestion. This article will focus on word lookup.
The key thing to decide in creating the word lookup
algorithm is the data structure for storing the words and
quickly looking them up. If the word list was fairly short, a
brute force method would work. Since most spell checkers
will need a word list in the tens of thousands, the lookup
algorithm will need to be smarter. We also need to keep in
mind that the words will be of many different lengths.
At first the most obvious data structure would be a
tree structure. A word would walk down the tree structure
ZXir QLive Alive!
16
Spring 1997
letter by letter. When it reached the end of its length it
would check the current tree node to see if it is a valid
word. Let's take a look at three words, bar, bard, and ban,
and the following tree structure.
b
b
\
r
/ \
d n
With the word BAR, the B is valid, with leads to an A
which is valid and it leads to an R which is valid. The R
node will have a value of 1 to signify that it is the end of a
valid word. This way the structure can parse both BAR
and BARN and distinguish between the two. When
parsing BARB:, the B is fine, which leads to A, which leads
to R, but now there is no R path in the tree and the word is
determined to be invalid,
The problem with mis data structure is two fold: one,
you need to construct it out of the dictionary file at run
time, which can take some time, or you need to find a way
to store it so it can be read in easily. The second problems
is that the language we are going to construct the spell
checker in is SuperBASIC, which does not easily support
making tree structures. They are easily created with C
structures or Pascal records.
We could use a hashing algorithm since, it is designed
for very quick look up, but wife a very static list of words,
our hashing algorithm may require more data space than
we really need.
We need to come up with some data stnicture that is
tailored to our needs. One that will provide a fairly quick
look up and minimize on the data space needed to store the
word list.
Here is a suggestion: Store the words in a flat array.
The words will be pre-sorfed on disk, first by the length of
the word and then alphabetically. This means that all of
the two letter words will be grouped together and sorted
alphabetically, then the three letter words, etc. Word
length is one way to distinguish one word from an other.
Create a two-dimensional array called
start_array(x,y). The X value will be LENGTH and the Y
value will be FIRST_CHAR. As the words are read in, the
array will be used to keep hack of where the first 2 letter
starts in the array, where the first three letter word starts,
and so on. It will also keep track of where words start by
the first letter. When you need to do a lookup of the word
BAR, LENGTH is 3, FIRST CHAR is equal to B, so you
would look up start_array(3,'B'). this will return where the
first 3 letter word that starts with B is stored in the word
array. From there the search can be a simple brute force
search that compares all three letter B words to see if they
match BAR.
To determine where the search should end, you will
also need to know where the first three letter C word is at.
Tiiis can also be looked up in fee start ..array . Below is a
little pseudo code showing how this would work,
start = start_array(3/B*)
stop = start_array(3 5 'C')
FOR x = start TO stop
IF word array$(x) = BAR. THEN EXIT success
NEXI x
EXIT fail
Sit*fin# Qhe QM With Qlm, 2068
On Addressing The Internet, Using The Timex -Sinclair Model 2066 by David Lassov
In tlris article, we discuss several services, provided to
us in subscription form, by a computer, that speaks UNIX.
We have something to say about telnet, email,
mailing lists, the web, Usenet, gopher, and ftp.
After using telnet to establish computer contact, the
rest of those programs communicate off-line. ON-LINE
communications (in real time) use talk, ire, or muds.
First, we use the telephone, to CONNECT with our
Internet provider, in order to show fee UNIX prompt,
on the screen.
TELNET
Telnet is a facility, so fundamental and so old in the
history of accessing computers;, as to answer the phone
whenever we make our initial call to the Internet service.
Then, of course, Telnet serves to CONNECT us to
whatever other computers on the Internet, that we desire to
talk to.
Boy, this must really kill the guys at the telephone
company, as they try to get a piece of each such action!
Here is how it goes for me. 1 call 520-806-4700, which
responds with "azstamef and a request for a user name.
After that, it asks for my password. Lastly, it asks for the
computer I want to work on, since Arizona Starnet has a
lot of computers. After "connect" appears, the
banner/main menu is displayed.
Should I type "telnet user-name@computer-name",
then a brief pause ensues, based upon Internet traffic,
followed by a response with site-name and a request for a
user name. After that, it asks for my password. Lastly, ...
, as above. From fee foregoing, you should see, that using
Telnet is like calling a BBS, e.g., SOL BBS at 520 882 0388
with "guest" as a user name and "guest" as a password.
By a careful reading of the above, you should also
see, that each TELNET site differs in log-on procedure, as
much as it differs in general content. This includes fee
initial call to your Internet service!
Anyway, by going through the above steps, you have
gained access to the Internet and/or access to whatever
other site on the Internet, you might have addressed.
E-MAIL (Electronic Mail)
We use program MAIL, in order to SEND mail over
the Internet, using the 2068 computer and a shell account,
ZXir QLive Alive!
17
Spring 1997
in order to access the web. J don't know all the details, but
MaxCom software does not seem to entirely emulate the
VT100 terminal, because we cannot go UP on the screen
and, hence, we are limited to line editors .
Shell accounts usually use "PINE" and "PICO" to
send mail but, alas, they use foil-screen editors. But, they
replaced "mail", which, has been left as a rather efficient
line editor, and "mail" sine does a good job!
Suppose we are looking at the UNIX prompt, "$", on
the screen. Then, we type "mail user-name@computer-
name" in order to set up the computer, for SENDing the
message which follows, to the user with user-name "user-
name" at the computer, bearing the name "computer-
name"
Next, my cursor jumps to the start of the next line,
which is blank, of course (no full-screen editor!). I enter
the message, line by line (back-space editing only). I
terminate the message, by typing only "." on a line and
pressing ENTER. The message can also be terminated, by
typing A D or A d on a blank line, where A denotes first
pressing the CONTROL key, (CAPS-SHIFT/EDIT on the
2068 with MaxCom). When the UNIX prompt $
consequently appears, the message will have been SENT to
the addressee, user-name@computer-name.
Now, in order to check for your own email, simply
type "mail" and press ENTER... A response of NO MAIL
means an empty mailbox. Otherwise, "FROM: ..." will
appear, followed by any first email message in your
mailbox.
After listing an email message to you, the UNIX
prompt $ will appeal., This initiates a reply, should you type
"r"
and press ENTER,. This also deletes that particular
letter from your mailbox. In ordei to delete the letter only
(without, a reply,) then simply type "d" after the UNIX
prompt.
MAILING lists
These are something we can join, in order to keep our
electronic mailboxes filled with interesting stuff.
For example, open your download buffer, in order to
get an ASCII copy of the following session, where you get
the UNIX prompt onto the screen, and then ENTER the
line:
http://scmvw.ucs .indiana. eduinlarchiv
Don't forget to close the download buffer, when
finished!
It contains information on how to join (or leave)
mailing lists, each devoted to a specific special interest
group.
Whenever a member submits email to the mailing list,
then it is immediately sent to all other members of the
group.
So, all you need to know is how to send and receive
email. Also, the address of an interesting mailing list to talk'
with, would be helpful. :-)
FTP - File Transfer Protocol
"ftp" is the name of the UNIX program, for
implementing FTP. First, get the UNIX prompt "$" on the
screen. ENTER "ftp" alone, followed on the next line by
"open rtfm.mit.edu". This last will be in response to the ftp
prompt, "ftp>" resulting from the initial entry of "ftp".
Alternatively, we can connect to the remote host,
"rtfm.mit.edu"., by ENTERing the line:
ffprtfrn.mit.edu
The ftp facility can be terminated, by typing "quit", in
response to any ftp> prompt.
Use the "get" command, to download any file to your
current directory.
Of course, you should already have set up a directory
on the UNIX system, where you store your downloaded
files. Do this, BEFORE you use ftp to access the remote
directory. Furthermore, mere are simple commands like
"cd", to change to the desired remote directory.
Now, we can up- and down-LOAD all kinds of files,
as the Internet machine with UNIX is" a bit more
sophisticated than our 2068 system.
Just be aware, that: downloads to our 2068 system are
limited to ASCII transfers.
USENET(news groups)
The UNIX program for accessing USENET is called
"tin". Now, if you just ENTER the name "tin" then would
follow an endless sequence of questions, on subscribing to
new news groups, each question demanding a YES or NO
answer, followed by an identical question !! So, here is
what we do:
At the UNIX prompt, "$", ENTER "tin -q". This will
bring up a menu of ALL news groups, which you have
used. You can enter any news group on the list, by
ENTERing its line number from the list, followed by
another ENTER... We escape back to the last, menu, by
ENTERing "q". We can keep ENTERing q's like this, till
we reach the UNIX prompt.
At the UNIX prompt, we can also choose to read a
specific news group, say "alt Id." on one-dimensional
figures, by ENTERing the line "tin -q alt. Id" and, yes, the
space(s) following "tin" are critical]
The important tiling is the ability to arrive at the
UNIX prompt, "$", on the screen. While this is more
complicated, than lifting a telephone receiver for the dial
tone, this is still a simple task, costs about $20 monthly,
and requires the advice of your Internet service provider.
So, when signing up for Internet access, be sure to keep
track of the telephone number of the SYSOP (system
administrator!)
GOPHER
Let's explore gopherspace! Sounds like the
underworld, doesn't it! To do this, we call on a UNIX
program, called "gopher"
While looking at the UNIX prompt, "$", we can type
"gopher" and then press ENTER. This will access any
local gopher site, as set up by the SYSOP. In order to
access a specific gopher site, say wiretap.spies.com, then
enter the line:
gopher wirefap.spies.com
Up comes the MENU, most of whose items refer to
other Menus. So, choose an item, by ENTERing its line
number, or by pressing the space key, or space bar, till the
item is displayed at screen bottom. Then, enter the item,
ZXir QLive Alive!
18
Spring 1997
by pressing ENTER.
After thus searching the Menus for your particularly
interesting item, then enter the item, by pressing ENTER.
Next, program "gopher" will fetch your topic and display
the text on your screen, one page at a time.
So, you can spend all day (or night!) exploring the
underworld of gopherspace, using only six basic
commands: "k" (or A P) and "j" (or A N) to move UP and
DOWN within a menu, respectively, ENTER and "u" to
move from one menu to the next or previous, respectively;
and SPACE (or > or +) and "b" (or < or -) to page forward
and backward through long Menus, respectively .
Should we get lost amongst all these Menus of
Menus, we can always type "m", to escape to the initial
menu!
At the UNIX prompt, "$", we can escape back to the
Internet main menu, by typing "stop" or A D. We terminate
the session, by escaping the Internet with A C at the main
MENU!
THE NET
The net is man's latest attempt at a universal
communication system.
After using fee phone to connect to an Internet
provider (like using TELNET), mailing lists offered the first
such attempt. Then, USENET followed with a little better
access to the web, in order to support newsgroups of
common interests (like using message bases and BBSs.)
The gopher system improved on those capabilities a bit
with menu-driven access (like Menus of Menus of ... .)
Then, Hie World Wide Web (www) was developed at Cern
in Switzerland, to access massive amounts of Physics
information. Thanks to Marc Andreesen and his program,
MOSAIC, the www degenerated into THE WEB: A
complete information system with links, to permit EASY
jumping from ideas to words to pictures to sounds ....
Now, Goedel's Theorem, that completeness is tantamount
to inconsistency, is surely applicable here, as there is little
consistency in the NET.
LYNX is the program, used to access the web from a
shell account. It runs on the Internet computer and
riimishes all the above words and ideas of the web.
Be that what it may, we presume, that we are looking
at the UNIX prompt, "$", on our screen, CRT, or monitor.
If you simply type "lynx" and press ENTER, then you
should get the banner for your local Internet system, that
you are now using. In order to get access to somebody
else's site, you have to type their user-name@,computer-
name, after typing "lynx " . Of course, it is important to
separate "lynx" from "user-name@computer-name" (by
spaces.)
The above procedure should result in any site's
banner and/or main menu.
TALK
The talk facility is implemented by the UNIX
program, "talk"
Usage is the same as SOL BBS in TALK mode or in
TERM mode. Some people refer to this interchange of
ASCII information as CHAT mode. The other person
needs a talk' facility, which is compatible with the UNIX
"talk" program. It also helps, that they are at the computer,
addressed on the Internet. :-)
Programs for talk, which are compatible with UNIX
"talk" are available on the Internet for download at no
cost, using anonymous ftp. ENTER the following line :
talk user-name@computer-name
in order to connect (for free) to the person, using
user-name "user-name" at the computer "computer-name"
If the person is there and not busy, then he or she
will be paged and asked to respond with a like talk
command using our user-name and computer-name.
Connection follows, and you can both begin talking.
If the person is there and busy, then [Ringing your
party again] will appear on our screen every ten seconds,
till either connection is established or we press A C. Before
we try to talk to someone, using the talk facility, always
"finger" them with the line :
finger user-name@computer-name
The information from finger should tell us, whether
tire person is logged-in and willing to talk.
The conversation can be terminated, when someone
hits A C.
Then, the UNIX prompt, "$", reappears.
These are like FREE phone calls, all over the world 1
INTERNET RELAY CHAT
This is an ultimate TALK facility, talk, talk, talk,..,.,
talk. Once on board, everytlring you type is printed to
everyone else's screen, and you see everything typed by
everyone else!
Private messages, can be sent and/or received to/from
any on-line user. For a list of the (thousands of) users, on-
line, type /LIST
Anyway, in order to access this facility, get the UNIX
prompt, "$", on the screen, and ENTER "ire"
My local access is to EFNET, which has users from
over nineteen countries (foreign languages!)
For example, there is a guy from downtown Belgrade,
Yugoslavia, broadcasting on student activities there. He
uses an ire channel. Also, some guy is listed as "silversto"
which is my birth name. Wonder what's on his mind ... !
Most exchange is in English, but I saw some Spanish Engo
in the LIST.
MULTI-USER DUNGEONS
A MUD is a game program. No, it's much more, since it
provides a game environment among several players.
That's how muds are all the same. Mud's are all different,
by providing different environments, relating the players ...
differently! You are going to have to ask your friends,
about which ones to choose.
HINTS
Three hints will make life a lot easier at the keyboard
of our 2068' s, when accessing the Internet.
1. Get the UNIX prompt, "$", onto the screen.
Then, ENTER the line:
stty erase A H
This will set the description of our TTY, to accept the
2068 DELETE of CAP-SHIFT/ "0", whereas the UNIX
system is looking for a DEL character, such as generated
by DELETE on my APPLE II C+.
ZXir QLwe Alive!
19
Spring 1997
2. Describe the screen width of the 2068 system as :
stty COLS 63
3. Similarly, set the screen length with : stty ROWS
18
When I get $ onto the screen, the FIRST tiling I do is
item #1, above. If I make typing errors, and the backspace
is the ONLY device available to line editors. Hints #2 and
#3 are useful, only when I want to READ the screen, page
by page.
A few years ago, MIRACLE SYSTEMS redesigned
their parallel printer interlace so that its circuitry now fits
safely within the confines of what would appear - from a
distance -- to be a standard, metal CENTRONIC S plug.
Oh, how I wish this had been the original design. I
don't know what your experience was with the older style
parallel interface, but if it was similar to mine, then you
probably had the misfortune of breaking the blue-plastic,
CENTRONICS plug away from BOTH the black box AND
the circuit board!
Okay, the misfortune means one of a few tilings :
1) I am clumsy; AND,
2) my printer is NOT well situated; and/or,
3) the design is unintentionally fragile.
After "breaking" my parallel interface for the
umpteenth time, I finally decided that, it was time to find
my ohm-meter, warm up my 15 watt soldering iron, and
make a short adapter cable that separated the
CENTRONICS plug from the circuitry.
After opening the interface box
and looking at the short jumpers I had
previously employed to RE -connect
the CENTRONICS plug to the
circuitry, it occurred to me that I might
as well make a hard wire connnection
directly between the circuit board and a Vrcmp of
standard, 2.5-pin female D- iicators.
submimature plug - the same
connector used on the ISA boards of
CENTRONICS plug: ^ 123456 7 S9U23456
[front view]
ABCDEFGHIoJooookko
Kooooooooooooooooo
25 female plug :*13dht987654321 [rear view]
ABCDEFGHIoJoo
ooooKooooooo
Connect A' to A', 'B' to 'B', and so on.
Note that I ran a jumper between the 'K ! pin on the
lower row of the CENTRONICS plug and the double 'k
pins on the upper row of the same plug.
I used a solder-type D-connector and eleven short
(about 6" long) pieces of multi-strand wire.
If you are simply making an "adapter" then you may
note that using IDC (ribbon-type) plugs should be much
faster - only the ground ('K') connection needs to be -"off-
set" with a jumper.
If you are hard-wiring, look at the circuit board
Sierra Vista HeraJd/Bisbee Dally Review, Thursday, September 12, 199S 3 A
[ination
IBM computers for parallel choultry,
Using an
Ion and
b Eock-
larnegie
"IBM" connector would
mean that I would be able to use any
length, readily available extension
between my QL and the printer.
NOTE: If you are not confident
of your soldering skills in tight areas
then consider making a non-invasive,
adapter cable. Also, neither I nor ZQA!
take responsibility for the end results of
any hardware modifications that you
might make.
For conceptual clarity (?) the following shows the
"front" view (i.e., the working end) of the CENTRONICS
plug, and the "rear" view of the 25-pin D-connector where
you will make your solder connections. In other words, you
will be connecting pin-1 of the CENTRONICS plug to pin-
13 of the D-connector; and, so on. Note that you will only
be making eleven (1 1) connections to the D-25 plug since
there are only that many signals being used by the
MIRACLE parallel interface.
>ashing
jsion of
ipport,"
nmond,
College,
d direc-
Honda-Herald/Review
A back hoe is guided in search of Wyatt Earp's lost silver mine near
Amm Road on the west part of Tombstone.
carefully, and then decide where you want to make your
connections - I chose to hard-wire directly to "pins" on the
circuit board - visually tracing back from the
CENTRONICS plug to the first available pin. A hard-wire
implementation will minimize components.
I twisted the wire together (loosely) and then wrapped
the cluster (tightly) with electrical tape.
Finally, I used my soldering iron to melt-away a small
"cut-out" in the back edge of the base of the int
black plastic box so that rm
short pig-tail adapter could exit
ZXir QLive Alive!
"20-
Sorina 1997
the opposite end of the repaired CENTRONICS plug. Take
your time (test fit often), and don't make the hole too large,
Since my QL's components are nestled inside a
salvaged PClone ease, my old style, MIRACLE parallel
interface can now rest near the back of the case (on the
inside) out of harm's way with the 25-pin connector firmly
attached to the rear of the case using an available opening
intended for this type of connection.
I can now employ ANY LENGTH of any "standard"
IBM printer interface cable to complete the connection of
my QL to my printer (long IBM-type parallel printer cables
tend to be much cheaper than a CENTRONiCS-to-
CENTRONICS cables of equal length; and certainly, easier
to find in a store).
With a little effort on your part you can add the same
flexibility and durability to your MIRACLE parallel printer
interface.
HAPPY TRAILS,
AND COMPUTING, TO YOU ...
Utility programs vary widely in functionality. Some
utility programs are single task while others are multi-task.
Some simply deal with file handling while others deal more
directly with the storage medium. QLUTterJBAS is a
simple, six function, SuperBASIC front-end and utility
program designed to help you un-clutter the files of your
QL's various storage media.
QLUTter can be used to EXEC W a program, COPY
a file from any valid medium to another, DELETE files,
PRINT files, FORMAT media, or VIEW a file's contents.
QLUTter can handle over 600 files utilizing a multi-screen
display. QLUTter's only system requirement is that the
storage media can not be write-protected.
QLUTter EAS can be compiled and used within
QRAM or TASKMASTER.
{Key} INPUTs
The primary utilities are accessed by the appropriate
FUNCTION-key indicated in the legend a the top of the
screen. The specific file is selected by keying the {'prefix-
symbol'} which precedes the filename.
The principle key inputs are as follows.
(esc) QUIT: QUTTs procedure / program
FI COPY: Copies files from any drive to any other.
F2 de-FILE; Selectively DELETES a file from a drive.
F3 HARD-COPY: LLISTs programs / LPRlNTs ASCII
flies.
F4 FORMAT: FORMATS a medium in any drive.
F5 pre- VIEW: Views a file's contents,
{ } operand: prefix selects file
FLISTJmp
Hie "FLISTJmp" file is created by the program to
keep ttack of the contents of the medium, The
"FLISTJmp" file can be IMPORTed into Quill to provide a
formatted, hardcopy record of what is on each, medium.
SELECTJDEViCE ! 0 S
PRESSing '0' (zero) accesses the 'SELECT DEVICE'
facility without going through the QUIT sequence. If you
simply wish to change from 'flpl ' to 'fl.p2J then you do not
have to use the ! SELECT_DEVICE' sequence.
If you have immediate access to 'flpl ! and simply
wish to access 'flp2 _' then simply use the 'right cursor' key.
Similarly, if you have immediate access to 'fip2_' and
simply wish to access "flpl J then simply use the left cursor 1
key.
If you wish to access a device other than
'flplj/'ramlj/'mdvlj, then press 'o'/'O'. In addition, you
may use:
'g'for'flp2J
'm' for 'mdv2 J
'f for ram2_'
V for 'winl '
To use the '[0]ther' choice, first press 'o'/'O', then input
the three letter "name" of the device, then press file 'ENTE R'
key, and then the number of the device, followed by
pressing the ENTER key.
To access 'flp3J from 'fip2 ' via the cursor keys, you
must use a 'shift right cursor key combination.
To access 'rami ' from 'flplj via the cursor keys, you
must use a 'ConTRoL left cursor' key combination.
(shift)[Function Key]
A 'shift [Function Key]' combination MAY be used
whenever a source disk/tape is changed instead of
SELECTJDEVIGE. Thus, if you have a keyboard with ten
function keys, you may use 'F& for a new source disk in the
'COPY 1 utility; »F7' for 'de-FILE', and so on.
CHANGE SERial [ " ]
If your printer is attached to 'SERial 2' or you want to
send the file over 'SERial 2' (no guarantees) for some
reason, then you can "toggle" this option by PRESSing the
double quote (shift ') sign after you have accessed the
'HARD-COPY' routine.
COPY... [F1]
QLUTter allows for selective COPYing of fries from
(m)any source disk(s)/tape(s) on your QL to any other
destination medium on your QL. For example, you can
copy from 'ram3_' to 'flpl...'; from 'flpl J to 'mdvl J; or any
other source/destination combination you may choose.
When you access this facility, you will see a
FLASHING CURSOR near the top of the screen. You
must respond to it by PRESSing either- the 'ENTER' key for
the DEFAULT (i.e., 'flp2_' for 'flplj; 'flplj for 'flp2J; et
cetera — the DEFAULT device will always be a like storage
medium); or, f, rn', 'f, or 'o' (CAPS allowed), and then
'ENTER' to indicate your choice.
For SOURCE drives whose numerical value is greater
than '2' the DEFAULT DESTINATION number will be one
less than the drive number being accessed.
If you select 'o' (OTHER) as your choice, you can
input a single letter for standard devices, otherwise for non-
ZXir QLive Alive!
21
Spring 1991
standard devices such as on a NETwork you must INPUT
three valid letters indicating a device in your system, and
then PRESS the 'ENTER' key followed by the number of
the destination device, and the the 'ENTER' key again. This
will be the TEMPORARY DEFAULT device until you exit
the utility.
de-FILE ... [F2]
"De(lete)-FILE" allows for an alternative method of
un-cluttering your disks. Use the 'pre- VIEW utility ('F5') to
scan the file if you are uncertain about its contents.
You will be asked to VERIFY ('y'/'ri) prior to file
DELETion.
HARD-COPY ... [F3]
"HARD-COPY" allows you to send the selected file to
your printer.
QLLTter recognizes Quill's "...doc" prefix and will
generate roughly formatted output.
Because QLUTter recognizes some CONTROL
CODES, and because SuperBASIC LLISTings do not have
LINE FEEDS the hardcopy output of SuperBASIC
programs will be difficult to read.
If you want a hardcopy LLISTing of any type, then it
is recommened that you first IMPORT
SuperBASIC/Archive/etc, programs into Quill (you will
have to add a three letter extension to the name of the file
whose core name cannot be longer than eight characters)
and generated an appropriate ".. doc" file by SAVing the
IMPORTed program.
Output can be sent to either SERial port by toggling
the double quote key.
FORMAT ... [F4]
"FORMATting" can be done on any standard
medium; but, exclusion has been made for "win()_" devices
to prevent unintended accidents.
If you select the wrong device, the enter a name
LONGER THAN 10 (ten) characters, and this will allow you
to re-select or (esc)ape.
pre-VIEW ... [F5]
The 'pre-VIEW function allows you to view the raw
contents of a file without having to LOAD it. SuperBASIC
programs will appear as a LLISTing; machine code will be
mostly unintelligible, non-ASCII characters; and, a
Quill_doc will be displayed with breaks between paragraphs
to make reading the file easier (in rare instances, the display
will abort after the header and the file contents will not
viewable).
THE LLISTING
The QLUTter BAS is actually a stripped version of an
older version of the QLUSTer SuperBASIC source
program.
You can get a sense of how the program shares non-
specific functions by comparing the mA/xp/dr7hd/lk
PROCedures. For example, you could change the
'FORMAT utility to an UN-ZIP' utility by having the 'rf
PROCedure mimic the 'mA' PROCedure with the exception
that the active line would read something like the following:
If k<c then EXEC_W ramS_unzip;
""&t$&w$&"_"&ZIP$(l to len(Zip$)-4
ZXir QLive Alive!
where the unzip program has been previously located
in RAM8 .
Of course, before attempting modifications to the
program, you should use the program as it is LLlSTed.
" ERROR handling is problematic and if you find the
program hangs (as on a bad medium) then you may want to
eliminate the "WHEN ERRor" statements from the
'sxVxpv'rf , and ! cj' PROCedures.
Because the QLUTter BAS LLISTing now exists as a
stripped version of the QLUSTer utility, many of the
PROCedure names may seem cryptic. Despite what it says
in some compiler manuals, the length of the PROCedure
names, string names, and variable names does affect the
ultimate size of a compiled program.
In lieu of REMarks, please note the following
explanations for the program's PROCedures:
PROCedure FUNCTION LINE NUMBER
r z re -w i ndow 250
Wz re - w j. ndow 2 6 0
yeano yes-or-no option 280
B5 beep 3 40
wx wrong key message 3 60
ix invalid drive message 370
dN duplicate name message 380
ERmsg invalid medium message 390
esc escape message 400
PC press key message 4.10
CLSc clear partial screen 430
CLSd " 440
CLSe " 450
CLSo " 460
rCLS reset & clear screen 480
zCLS CLS 500
T top menu bar 520
sx access device. 5 40
sw show device 640
FI dynamic file name(s) 7 20
Rx rest of menu screen 730
rx2 bottom of menu screen 800
Uu redirect [pseudo loop] 820
Uv " 330
Uw " 8 40
pk keypress 8 60
fc3 keypress monitor 910
mA main menu / EXEC_W 1170
xp COPY utility 1230
df DELETE Utility 13 30
hd PRINT utility 1480
rf FORMAT utility 1580
rf? " subroutine 1610
other " " 1830
fmat " " 1910
key3 keypress monitor: 2030
lk VIEW utility 2120
L2 " subroutine 221.0
L3 " subroutine 2330
L4 " subroutine 2 420
i ne COMMAND. BAR 2 5 1. 0
nd - ■ - 2 520
CL " " 2 530
K4 keypress monitor 2550
Pick TAR/shi ft -TAB 2 610
NxtW move command strip 2 670
PrvW " " " 2690
cj change DEVice 2 7 90
NUT Next Utility 3040
Graphi.c commands such as LINE are not used since
BLOCK dr aws to the screen much faster and in a more
22 Spring 1997
consistent manner.
SUBDIRECTORIES
QLUTter does NOT handle sub_DIRectories; but, there are
many front end programs such as QLUSTer and QLAMBer
which can easily access subJDIRectories using the same
single key design utilized by the QLUTter program..
HAPPY TRAILS,
AND COMPUTING TO YOU ...
100 REMark
************ * * * ****** * ************ ******
1.10 REMark *QLUTter_BAS 3.701 8 1988-97*
120 REMark
* * ***■****■■*■*********■*■**■*■ + *■**■*■***■*■*■***■*■**■*■
130 :
14 0 MODE 0: POKE 1.63890, 0: REMark CAPSON
150 u$=" QLUTter 3,701: " F$="_FLIST_ imp"
160 t$="flp": a=l: j=l: D$="serl" :x>j"=l:pn=7
170 "B LAWKS =" REMark. 12 spaces
130 :
190 WINDOW#2, 512,256,0,Q:BORDER#2, 1,7:
PAPER#2, 7 : INK#2, 0: zCLS
200 WINDOW 4 62, 2 50, 25, 3 : BORDER 1,7: PAPER 7
210 WINDOW#0, 413, 10, 50, 241: PAPER#0, 7 :
INKJ0, 0
220 OPEN#3,scr 458x200a2?x48
230 :
240 AT#2,21,4: PRINT #2, uS ; " by Al Feng "\TO
3; " @ 1997 PLATYPUS Software FOR y=0
TO 5: AT#2,22, 10: PRINT#2,y: PAUSE 10: NEXT
y: END FOR y: PAUSE 40: tre=Q: WCh
250 DEFine PROCedure rz: W.INDOW#0, 413, 10,
50, 2 41: PAPER#0, 7 : INK#0, 0 : END DEFine
260 DEFine PROCedure Wz: WINDOW
4 62, 250, 25, 3 : END DEFine
270 :
280 DEFine PROCedure yeano: PAPER#2, 7:
REPeat: ysn
290 C$=INKEY$
300 IF c$=CHR$(27) OR c$=*"n" THEN ok=0:
EXIT ysn
310 IF c$=CHR$(10) OR c$== w y" THEN ok=l :
EXIT ysn
320 END REPeat ysn: END DEFine
330 :
340 DEFine PROCedure B5 : BEEP 900,20: PAUSE
5: BEEP 900,40: END DEFine
350 :
360 DEFine PROCedure wx: AT#2, 24, 37:
PRINT #2, "wrong key": B5: CLSd: B5 : END
DEFine
370 DEFine PROCedure iX: AT#2,24,35:
PRINT#2, "invalid drive" : PAUSE 10:
CLSd: END DEFine.
3 8 0 DEFi ne PROCedure dN : wx: AT #2, 24, 35:
PRINT #2, "duplicate name": PAUSE 30:
CLSd: END DEFine
390 DEFine PROCedure ERmsq; CLS#0: wx: iX:
AT #2, 24, 35:
PRINT #2, "media problem": PAUSE 10: iX:
END DEFine
400 DEFine PROCedure esc: AT#2,24,35:
PRINT #2, » (esc} to abort": END DEFine
410 DEFine PROCedure PC: CLSd: AT#2,24,27:
INK#2 , 0 : PRINT #2 , " Pre s s [Any Key J to
CONTINUE" : PAUSE: END DEFine
420 :
430 DEFine PROCedure CLSc: BLOCK
458, 225, 0, 10, pn: END DEFine
440 DEFine PROCedure CLSd:
BLOCK#2, 330, 10, 83, 240, 7 : END DEFine
450 DEFine PROCedure CLSe: BLOCK
458, 194,0, 41, pn: END DEFine
460 DEFine PROCedure CLo: PAPER#0,pn:
WINDOW#0, 402, 1.1, 81, 3 4 : CLS#0: END DEFine
470 :
480 DEFine PROCedure rCLS: Wz: BORDER 1,5:
END DEFine
490 :
500 DEFine PROCedure zCLS : BORDER#2, 1,7:
CLS#2: END DEFine
510 :
520 DEFine PROCedure T: BLOCK 26,9,432,0,7:
PAPER 7: AT 0,0: INK 0: PRINT" [El] COPY
[F2] de-FILE [F3] Hard-COPY [F4] FORMAT
[F5] pre-VIEW": BLOCK 458,1,0,9,5: : BORDER
1,5: BLOCK 458,2,0,235,5: BLOCK
458,12,0,236,7: PAPER 5: INK 0: END DEFine
530 :
540 DEFine PROCedure sx: DIM Z$(610,32):
DELETE t$&a&F$
550 WHEN ERRor
560 ERmsg: CLS#2: tre=0: WCh
570 END WHEN
580 OPEN_NEW#6, t$&a&F$
590 DIR#6, t$Sea&"_ n &RN$: CLOSE#6
600 OPEN _IN#7, t$&a&F$ : FOR c=0 TO 610
610 IF EOF (#7) THEN EXIT c
620 INPUT #7 , Z $ ( c ) : END FOR c: CLOSE #7: c=c-
1: IF c/76<=(j DIV 76) +1 THEN pj=(c DIV
76) +1 AND j=(pj 1)*76+1: END IF : END
DEFine
630 :
640 DEFine PROCedure sw:IF a<~8 THEN g=a-l:
IF a>=l THEN h=g+2
650 IF g=0 AND t$= f, flp" THEN LET tl$="ram":
ELSE tl$="flp": END IF : gl=l
660 IF g>0 THEN tl$=tS: gl=a-l: END IF
670 f=c-l-76* (pj-l)-76: IF f<=0 THEN f =0 :
END IF
680 PAPER pn: INK. 4: AT 1,73: PRINT" ": AT
1,55: INK hCR: PRINT" page " ; : INK mCR:
PRINT pj; : INK hCR: PRINT" & "/: INK mCR:
PRINT f&"+";: INK hCR: PRINT" files ": AT
1,1: INK mCR: PRINT" (esc) " ; : INK hCR :
PRINT "EXIT" : INK ICR: AT 3,14: PRINT
BLANKS ; BLANK$ (1 TO 4)
690 AT 3, 14: PRINT Z$ (0)
700 AT 3,57: PRINT Z$ (1) ;BLANK$ (1 TO 4):
THEN INK 2: AT 1,31: PRINT FREE/1024;"
K";: INK hCR: PRINT" ilobytes " : END IF : END
DEFine
710 :
720 DEFine PROCedure Fi :
PRINT#3, "{";CHR$ (n+e+48) ; "} ";Z$ (n+e+j) ;
END DEFine
730 DEFine PROCedure Rx: INK#3,mCR:
PAPER#3,pn: AT 3,9: PRINT t $ ; a; H : FOR e=0
TO 18
740 FOR n=l+e+e+e: AT#3,e, 0: Fi
750 FOR n=2+e+e+e: AT#3,e, 19: Fi
760 FOR n-3+e+e+e: A,T#3,e,38: Fi
770 FOR n=4+e+e+e: AT#3,e,57: Fi
780 NEXT e: END FOR e: rx2
790 END DEFine sw
800 DEFine PROCedure rx2 : PAPER#2, 7:
AT#2, 24, 5 : INK#2, 0 : PRINT #2, CHR$ ( 188 ) ; " " :
BLOCK 2,13, 1.8, 235, 5: AT#2,24,8:
INK#2 , 2 :
PRINT#2, tl$≷" "TO 71; t$&h; :
AT #2, 2.4, 78 : INK#2 , 0 : PRINT #2 , CHR$ (18 9);" " :
ZXir Qlive Alive !
23
Spring 1997
BLOCK 2,12,436,236,5: END DEFine
CLSe: sw: Rx: k3:
IF cD=l THEN CD=0:
END IF : END
810 :
320 DEFine PROCedure Uv;
pk; END DEFine
830 DEFine PROCedure Ux:
pj=l: fl=l: RN?="":
DEFine
840 DEFine PROCedure Uw; wx: k3 : pk: END
DEFine
850 ;
860 DEFine PROCedure k3 : REPeat key
8 70 AT 1,13: IF PEEK_W (163976) THEN INK
mCR :
PRINT "CAPS ON": ELSE PRINT BLANKS (1 TO 7)
880 k=CODE { INKEY? ) : IF k>8 THEN EXIT key
8 90 END REPeat key: END DEFine
\J a
910 DEFine PROCedure pk: rz: k=k~-48
920 IF k=-21 THEN zCLS: nd
930 IF k<=-l AND k<>-14 OR k=77 OR k=78
THEN Uw
940 IF k=168 AND pj<9 AND f>0 THEN pj=pj+l:
j=j+76: Uv
950 IF k=168 AND f=0 OR pj=9 THEN pj=l:
j=l: Uv
960 IF k=160 AND pj>.l THEN pj=pj-l: j=j-76:
Uv
970 IF k=160 AND pj<=l THEN Uw
98 0 IF k-14 4 THEN IF a>l THEN a=a-l: Ux:
sx: Uv: ELSE : iX: Uw
990 IF k=.1.46 AND t?=="flp" THEN t?="ram":
Ux: sx: Uv
1000 IF k=146 AND t:$<>"flp" THEN t$="flp":
Ux: sx: Uv
1010 IF k=152 THEN IF a<2 THEN a=a+l: Ux:
sx: Uv
1020 IF k=79 THEN zCLS: tre=3: WCh
1030 IF k=0 THEN zCLS: tre=0: WCh
1040 IF k=18 4 THEN xp
1050 IF k=186 THEN Ux: sx: xp
1060 IF k=188 THEN df
1070 IF k=190 THEN Ux: sx: df
1080 IF k=192 THEN hd
1090 IF k=194 THEN Ux: sx: hd
1100 IF k=19€ THEN rf
1110 IF k=198 THEN Ux: sx: : rf
1120 IF k=200 THEN lk
1130 IF k=202 THEN Ux: sx: lk
1140 IF k>=C THEN Uw
1.150 END DEFine pk
1160 :
1170 DEFine PROCedure rnA: hCR=2 : mCR=0:
pn=7: zCLS: T: PAPER 7: INK 2: AT 3,2:
PRINT " EXEC_ W" : sw : Rx
1180 k3: pk
1190 IF k=-14 THEN wx: GO TO 1180
1200 IF k<c THEN EXEC W t?&a&" "&Z?(k+j)
1210 wx: mA: END DEFine
1220 :
1230 DEFine PROCedure xp: pn=7: hCR=0:
mCR=2: CLSc: T: rz: AT 0,0: PRINT" { }
COPY ": PAPER 7: S?=t$: IF a=l THEN N?=a+1:
ELSE N?=a-1: END IF
12 40 INK 0: AT 3,2: PRINT" COPY "/TO
59;BLANK$: sw: Rx
1250 INK 0: AT 1,23: PRINT " [fJlp w &N$&"_
[r]am"Si N$&"_ [w]in"&N?&" "
1260 AT 2,35:' PRINT" to] ther* : CLS#0:
AT#2,24,33: PRINT #2, "<ENTER> = default":
PAPER#2,7: INK 0: AT 3,31: PRINT " to
**; BLANK?; BLANK? (TO 9): INK 2: AT 3,36:
INPUT o$
1270 IF o$=="f" THEN S$="flp": ELSE IF
o?=="w" THEN S?="win": ELSE IF o$="r" THEN
S$="ram": ELSE IF o$=="m" THEN S$="mdv" :
END IF
1280 BLOCK 186, 20, 138, 10, pn: IF o$=="o"
THEN w=l: r=3: p=3 6: Oth: S$=o$; END IF
1290 IF S$&N$==t$&a THEN wx: iX: xp: ELSE :
INK 0: AT 3,33: PRINT "to ";: INK 2: PRINT
S?,*N?; "_ " ; BLANK?
1300 rx2: k.3 : pk
1310 IF k=-14 THEN wx: GO TO 1300
1320 IF k<c THEN CLS#0
1330 WHEN ERRor
13 40 ERmsg: GO TO 12 40
1350 END WHEN
1.360 DEL: COPY t$&aS"
'&Z$(j+k) TO
S?&N$&"_"&Z$ (j+k) : rz: GO TO 1240
1370 END DEFine xp
1380 :
1390 DEFine PROCedure df: pn=2 : hCR=0:
CLSc : T: AT 0,14: PRINT" { } de-FILE "
1400 mCR=7: PAPER pn: INK 0: AT 3,1:
PRINT "de-FILE"; TO 59; BLANK? : sw: Rx
1410 k3: pk
1420 IF k— 14 THEN wx: GO TO 1410
1430 CLS#Q: mCR=0: Rx: INK 5: AT 3,1: PRINT
"de-FILE" : INK 7: AT 3,14: PRINT Z$ (j+k) / :
INKS: PRINT " (y/n) ?" ,* BLANK? : yeano
1440 IF k<c THEN CLSd: DELETE
t$&a&"_ "&.Z$ (j+k)
1450 sx: IF c-l=76* (pj 1) THEN mCR=7 : INK
0: LET pj=l: j=l: sw: END IF : CLSe: GO TO
1400
14 60 END DEFine df
1470 :
1480 DEFine PROCedure hd: h.CR=0: mCR=2. :
pn=7: CLSc : T: AT 0,28: PRINT" { } ";D$;"
COPY ": PAPER '7: INK 0: AT
3,3: PRINT" PRINT" : sw: Rx
5: AT 0,28: PRINT" {
} ";D*
14 90 STR.
COPY "
1500 PAPER 7: CLSd: k3 : pk
1510 IF k=-14 AND D?="serl" THEN D$="ser2":
GO TO 14 90
1520 IF k=-14 AND D$-"ser2" THEN D$="serl":
GO TO 14 90
1530 CLS#0: INK#2,2: AT#2,24,30:
PRINT #2, "printer ready ... (y/n)?": AT
3,14: INK 2: PRINT Z? (k+j ) ; BLANK? : yeano:
CLSd:
IF ok=0 THEN sw: GO TO 1500
1540 IF k<c THEN cop=l: L2: END IF
1550 CLOSE#7: CLSd: sw: Rx: GO TO 1500
15 60 END DEFine hd
1570 :
1580 DEFine PROCedure rf: hCR~5 : mCR=5 :
pn.=0: CLSc : T: AT 3,2: PAPER 0: INK 7:
PRINT "FORMAT ";: INK 2: PRINT t$;a;"_": sw:
Rx : rf 2
1590 END DEFine rf
1600 :
1610 DEFine PROCedure rf'2
1620 PAPER 7: AT 0,0: PRINT TO 45; : PAPER
5 : INK 0 : PRINT " { } FORMAT " ; : PAPER 7 :
PRINT BLANK? ; BLANK? (1 TO 6): CLS#0
1630 WINDOW#0, 124, 132, 297, 14 : PAPER#0, 7 :
BORDER #0,1,0: INK# 0 , 0 : C L S # 0
1640 AT#0,0,0: STRIP#0, 7: INK#0, 0
1650 AT#0,2,2: PRINT #0, "flpl_ == [F.1J "
1660 AT#0, 4, 2: PRINT #0, "flp2_. = [12] "
ZXir QLrvc Alive!
24
Spring 1997
1670 AT#G, 6, 2: PRINT #0, "mdvl_ == [F3] "
1680 AT#0,8,2: PRINT #0, "mdv2_ = [F4] "
1690 AT#0, 10, 2: INK#0,0: PRINT #0, "OTHER =
[F5] "
1700 AT#0, 12,0: STRIP#0, 5: PRINT #0, TO 4;
"Use CAUTION! STRIP#0, 7: INK#0, 0
1710 key 3
1720 SELect ON ke
1730 =81,81+32: GO TO 140
1740 =27: CLS: BEEP 900,20: rf2
1750 =232: drive?="f lp" : num$="l": L=2:fmat
1760 =236: drive?="f lp" : num?="2": L=4:fmat
1770 =240: drive ?= B mdv" : num$="l": L=6: fmat
1780 =244: drive ?="mdv " : num?="2": L=8 : fmat
17 90 =2 48: L=10: other
.1800 END SELect.
1810 END DEFine rf2
1820 :
1830 DEFine PROCedure other
18 40 AT#0,L,2: PRINT #0, " " ; CHR$ ( 188 ) ; "
[drive] " ; BLANK?
1850 AT#0, L, 2 : INPUT #0, drive? : IF
LEN (drive?) <>3 THEN GO TO 18 40
1860 IF drive$=="mdv™ OR drive $=="flp" OR
drive$==" ram" THEN GO TO 1870: ELSE GO TO
18 4 0
18 70 AT # 0 , L , 2 : PRINT #0,drive?&"
" & C.HR $ { 1 8 8 ) ; B LANK $ : AT # 0 , L , 5 :
INPUT # 0 , num$ : IF LEN ( num? ) > 1 OR
CODE (num? ) >=58 OR CODE (num? )<= 4 7 THEN GO TO
18 70
1880 fmat
1890 END DEFine other
1.900 :
1910 DEFine PROCedure fmat
1920 STRIP#0, 2 : INK#0, 7: AT#0, L, 0:
PRI NT # 0 , " " ; d r i ve $ & num? & "
";CHR? (188) ;" ":
AT #0, L, 7 : INPUT#0, 1 abel $
1930 IF drive$=="ram" THEN FOR LNn=l TO
LEN (label?) : IF CODE (label? (LNn) ) >=58 OR
CODE (label? (LNn) } <=47 THEN GO TO 1.920: NEXT
LNn: END FOR LNn
1940 IF L EN ( 1 ab el ? ) > 1 0 TH EN BEEF 2 0 0 0 , 2 0 :
AT#0, L+1,0: STRIP#0,7: PRINT #0, BLANK? : IF
L=10: END IF : rf'2
1950 WHEN ERRor
1960 ERmsg : AT #2, 2 4, 35 : PRINT #2 , " f o rrnat
failed" : GO TO 1990
1970 END WHEN
1980 FORMAT drive?&num?& "_"&labei ?
1990 WINDCW#0, 413, 10,50,241: PAPER#0, 7
2000 PAUSE 20: CLSc: sw: Rx: rf2
2010 END DEFine fmat
2020 :
2030 DEFine PROCedure key3
2040 REPeat key
2050 ke=CODE ( INKEY $ )
2060 IF ke=81 OR ke=81+32 OR ke=232 OR
ke=23 6 OR ke=240 OR ke =2 4 4 OR ke=248 THEN
EXIT key
2070 IF ke<23 6 AND k.e > 27 THEN BEEP
900,40: key 3
2080 IF ke=27 THEN PAPER 7: CLS: BEEP
900,20: STRIP 7: nd
2090 END REPeat key
2100 END DEFine key 3
2110 :
2120 DEFine PROCedure Ik: hCR=0 : mCR=2 :
pn=7
2130 CLSc : T: AT 0,58: PRINT" { } pre-
VIEW" : BLOCK 2 6, 10, 432, 0, 5 : PAPER 7 : AT
3,1: INK 0: PRINT "pre VIEW " ; sw: Rx
2140 k3: pk
2150 IF k=-14 THEN wx: GO TO 2140
2160 CLS: PAPER 7: BLOCK 458,12, 0,0,7:
CLSc :
BLOCK 458, 1,0,235,5: AT 0,37: INK 2: PRINT
Z?(j+k): INK 0: BLOCK 458,1,0,10,5
2170 IF k<c THEN AT 0,23: PRINT "pre-
VlEWing: " : cop=0: L2
2180 B5: WINDOW 462,250,25,3: PC: BORDER
1,5: CLSd: GO TO 2 1 3 0
2190 END DEFine Ik
2200 :
2210 DEFine PROCedure L2 : IF cop=0 : WINDOW
448,214,33,22: INK 0: CLS: esc: END IF
2220 IF cop=l: OPEN_NEW#7 , D? : END IF
2230 OPEN#6, t $&a&"_""&Z$ (j+k) : esc
2240 IF EOF (#6) THEN IF cop=l:
PRINT #7 , BLANK? : END IF : GO TO 2300: END IF
2250 LET i?=INKEY?
2260 IF i?=CHR?(27) THEN CLSd: AT#2,24,36:
PRINT #2, "abort? (y/n) " : yeano: IF ok=l
THEN GO TO 2 300: ELSE esc: IF cop=0: GO TO
2240: END IF : IF cop=l : PRINT #7, BLANK? : GO
TO 1550: END IF
2270 LET i ?=INKEY ? ( #6 )
2280 IF cop=0 THEN L3: GO TO 22 40
2290 IF cop=l THEN L4 : GO TO 22 4 0
2300 CLOSE#6: IF cop=0: GO TO 2190: END IF
: IF cop=l THEN GO TO 1550: END IF
2310 END DEFine L2
2320 :
2330 DEFine PROCedure L3 :MD$=S? ( j+k)
2340 REPeat here
2350 IF LEN(MD?}<=3 THEN IF CODE(i?)>126 OR
CODE(.i?)<32: INK 5: ELSE : INK 0: END IF :
EXIT here
2360 IF MD? ( LEN (MD? ) ~3 TO LEN(MD?))==" doc"
AND LEN (MD? ) >3 AND MD? (LEN (MD?) -3 TO
LEN (MD?) )="_doc" THEN IF CODE(i?)=0 THEN
PRINT: END IF : IF CODE ( i ? ) =8 THEN PC:
rCLS: CLOSE#7: Ik
2370 IF CODE(i?)>126 OR CODE ( i? ) <32 : INK 5:
ELSE : INK 0: END IF : EXIT here
2380 END REPeat here
2390 PRINT i$;
2 400 END DEFine L3
2410 :
2420 DEFine PROCedure L4 :MD$=Z $ ( j +k)
2 430 REPeat hier
24 40 IF LEN (MD?)<=3 THEN IF CODE ( i $ ) >12 6 OR
CODE(i?)<32: i?=" ": END IF : EXIT hier
2450 IF LEN(MD?)>3 AND MD? (LEN (MD? ) -3 TO
LEN (MD? ) )=="_doc" THEN IF CODE(i?)=0 THEN
PRINT #7 , CHR? ( 1 3 ) : END I F : I F CODE ( i ? ) =8
THEN PRINT #7, CHR? (12) : hd: END IF
2460 IF CODE(i?)>126 OR CODE(i?)<32: i?="
": END IF : EXIT hier
2470 END REPeat hier
2 480 PRINT#7,i?;
24 90 END DEFine L4
2500 :
2510 DEFine PROCedure Ine:
BLOCK#2, 458, 1, 24, 2, 0:
BLOCK 458,1,0,10,0: END DEFine
2520 DEFine PROCedure nd: PAPER 7: lne:
tre=l: WCh: END DEFine
2530 DEFine PROCedure CL: BLOCK
450,220,0, 11, 7: PAPER 7: INK 5: AT 0,64:
PRINT CHR? (188);' shift TAB ? : AT 0,0:
ZXir QLive Alive!
25
Spring 1997
PRINT " TAB " ; CHR$ (139);: INK 0 : PRINT "
SELECT _DEVICE EXECJH UTILITIES ";TO 57;"
EXIT PAPER 5: INK 0;
FREE— (PEEK_L (163856) -PEEK L ( 163852 ) -1024) :
END DEFine
2540 :
2550 DEFine PROCedure K4 : PAPER 7: REPeat
key
25 60 ike=CODE ( INKEY$ )
2570 IF ike=9 OR ike=32 OR ike=252 OR
ike=253 OR ike>47 AND 13ce<58 THEN EXIT key
2580 IF ike>=58 AND ike<252 THEN K4
25 90 END REPeat key: END DEFine K4
2600 :
2610 DEFine PROCedure Pick
2620 IF ike=253 THEN PrvW
2 630 IF ike=9 THEN NxtW
2 640 IF ike=252 THEN B5: GO TO 3160
2 650 END DEFine Pick
2660 :
2 670 DEFine PROCedure NxtW: tre=tre+l: IF
tre=4 THEN tre=0
2 680 WCh; END DEFine
2690 DEFine PROCedure PrvW: tre=tre-l: IF
tre<0 THEN tre=3
2700 WCh: END DEFine
2710 :
2720 DEFine PROCedure WCh: lne: CL
2730 IF tre=0 THEN cj
27 40 IF tre=l THEN AT 0,22: PRINT" EXEC_W
K4: Pick: mA
2750 IF tre=2 THEN AT 0 f 30: PRINT"
UTILITIES ": K4 : Pick: NUT
2760 IF tre=3 THEN AT 0,57: PRINT" EXIT ":
K4: Pick: GO TO 3160
2770 END DEFine WCh
2 780 :
27 90 DEFine PROCedure c j : fen=0: RN$=" " :
pn=7 : CLSe : BLOCK 90, 1 00, 42,2 1, 0 : BLOCK
88,99,43,11,7: BLOCK 88, 10, 43, 100, 5 : AT
0,7: PRINT" SELECT_DEVTCE "
2800 PAPER 5: INK 0: AT 10,8: PRINT" [
" ; t$&a; " mode j " : AT 11, 7 : INK 7 : PAPER 0 :
PRINT U$: PAPER 7
2810 INK 0: BEEP 100,29: AT 2,9: PRINT* "F"
- flpl_': AT 4,9: PRINT ' "R" = raml_ * : AT
6,9: PRINT 5 "M" = mdvl_' : AT 8,9: PRINT' "O"
= other'
2820 s=CODE ( INKEY $ (-1) }
2830 IF s=9 THEN CLS#0: BLOCK
90,112,42,11,7: tre=l: WCh
2840 IF s=27 THEN CLS#0: BLOCK
90, 112 , 42 , 11, 7 : t re=3 : WCh
2850 IF 3=253 THEN CLS#0: BLOCK
90, 112, 42,
1 1
, 7 ■
f~ =sr '3
2860
IF s-
-■10
OR
3=102
THEN
t$="flp" :
ct — J,
2870
IF 5 =
■■11
OR
s=103
THEN
t$="flp":
a=2
2880
IF s=
--11
OR
s=109
THEN
t$="mdv" :
a=l
2890
IF S=
■■78
OR
s=110
THEN
t$="mdv" :
a=2
2900
IF S =
•82
OR
s=1.14
THEN
t$="ram" :
a=l
2910
IF s =
:8 4
OR
s=116
THEN
t$="ram" :
a=2
2920
IF s=
87
OR
s=119
THEN
t$= w win" :
a=l
2 930
IF s=
•79
OP.
s=lll
THEN
WINDOW#0,
90, 30,
69, 84
; w=C
r=0:
p=8 :
Oth:
W$=N$: t$
=o$
2940 WHEN ERRor
2950 ERmsg: cj
2 960 END WHEN
2 970 WINDOWS 0, 4 13 , 10, 50, 2 4 1 : cD=0 : RN$=" " :
sx: B5: nd: END DEFine
2980 DEFine PROCedure Oth
2990 PAPER#w,pn: AT#w, r, p : PRINT jfw, '
* ;CHR$ (188) ; '_ ' : AT#w, r,p: INPUT#w,o$: IF
o$="" OR o$== w f" THEN o$="flp": END IF : IF
o$=«r* THEN o$="ram": END IF : IF o$==V
THEN o$="win": END IF : IF o$=="n" THEN
o$="ndk n ; END IF : INK#w, 0 : AT#w, r, p:
PRINT #w, o$i IF LEN(o$)<>3 THEN GO TO 2990:
ELSE
3000 AT#w, r, p+3 : PRINT #w, " " : AT#w, r, p+3:
INPUT #w, N$ : IF LEN(N$)=0 THEN GO TO 3000:
END IF
3010 IF CODE(N$J<58 AND CODE{N$)>4 7 THEN GO
TO 3020: ELSE GO TO 3000
3020 a=N$: END DEFine
3030 :
3040 DEFine PROCedure NUT: pn=5 : T: BLOCK.
458,1,0,10,7: PAPER 7 : REPeat k2
3050 k=CODE (INKEY?) : SELect ON k
3060 =9: CLS: BORDER 1,7: tre=3: WCh: =253:
CLS: BORDER 1,7: tre=2: WCh
3070 =27: CLS: nd: -128: cj : =-232: xp :
=236: df: =240: hd: =244: rf: =248: Ik
3080 END SELect : END REPeat k2 : END DEFine
3090 :
3100 CLS#2: AT#2,24,31: PRINT #2, " @
PLATYPUS Software "
daisy Be Good Part
OK, guys, let's start wrapping up the main commentary
on Bill Jones' suite of word Processors, that goes by the name
of DAISY, by discussing typewriter mode.
In doing so, we will bounce around some of Bill's
fabulous internal menus, and finish the FUNCTION menu, all
except for the last item, which is the "Style Menu".... That one
deserves its own, separate treatment!
We begin, by loading the autostart file on the disk,
"Daisy #1" from Frank Davis and update ! Magazine. Initialize
the Printer with presses of 3, 2, 1, Y, Y and Y, and get the
function menu on screen.
Typewriter mode uses entries 1, 2, 3, 6 7 8, 9, 0, and ; to
print a page paragraph by paragraph, in "hear real time",
and this is used for both reports and letters. For example, we
set up paragraphs of text, by choosing option #1 at the
function menu. We Press 2, in order to print Header, and
the screen then asks us to type the caption, of length limited
by David Lassov
by 80 characters. We do so; we press ENTER; and, we get our
line of type, in the current print style of the printer.
We can get the Format Menu, by pressing 3 at. the
function menu. The Format Menu allows US to access the
Print Style Menu, by pressing 3, and also allows us to skip the
letterhead, in the case of typing with paper having a fancy
letterhead, or something like that, by toggling 8.
We Print Typing, by pressing 6 at the function menu.
This enables us to print "u$", which is a buffer of text set up by
the powerful Input-Edit facilities of Daisy at entry #1 on the
function menu, the Daisy db manager at the quickie menu.
In typewriter mode, we use Office Tools at entry #8 of
the function menu, only to access Page Management, as #8,
again. With Page Management, we have the current page
number and lines, remaining to page end. We can force, page
end, by selecting #1, here. The printer ends the current page,
by performing line feeds, till it gets to the bottom of the
ZXir QLive Alive!
26
Spring 1997
#
*
*
*
*
£13
can
C4..1
C63
C«3
CR1
CB3
page, where it types the current page number, before continuing
on to the next page, Should the paper be moved up or down in
the printer carriage, we can reflect this in Daisy, by adjusting
the number of lines to page end and pressing #2. The current
page number can be changed, by pressing; #3. And #4
escapes back to the function menu.
At the FM, #9 causes the printer to skip a line, while
updating the line count, as shown onscreen, #0 at. the FM is
supposed to Print out the built-in letterhead and an optional
address for letters, which is entered on-line. None of the issue
disks from update Mag. had this feature implemented.
However, see the following article
on my new and improved version!
At the FM of Bill's original
version, we Sign Off, by pressing
the colon symbol, : . The printer
springs to life, by feeding a couple
of lines, before printing
"Sincerely," and "Bill Jones", after
two more line feeds! Lastly, it
skips down to page bottom, types
the current page number, and
continues on to the next page.
Next time, we talk about the
last entry, <, on the function
menu. This calls up the all-important Style Menu, where we
P™^ S^^h. t? r use_by our printer. _
Well, guys, we load ramdisk with all the daisy menus,
and then load the autostart file of our new and improved
daisy disk. This brings up a main menu of compatible word
processors, which we have broken out and optimized from Bill
Jones' Daisy suite.
Let's punch 3, and load dbms.B6. Everything we try for
typewriter mode results in a beep, only. This is because
"dbms" serves only as a gateway to further Data Base
Management Systems, which are also
part of Bill's amazing daisy suite!
Hmm we punch 2 at the
main menu, and load 1N+ED.B6 ...
. Now, when we punch 1 at the
FUNCTION MENU, the QUICKIE MENU
comes right up, ready to build a
paragraph of text, contained in u$.
When we escape back to trie FM, we
only get beep, upon pressing 2, 3, or
6. In other words, we can't Print a
Header, access the Format Menu, or
Print the Typing, Contained in u$,
since IN+ED.B6 doesn't have any
printer drivers. Likewise, we only get beeps, by selecting
Page Management, Line Space, Letterhead, Sign Off, Page End,
and Style Menu.
Now, if we punch I at tire main menu, and load
PO+MM.B6, our banner charges right up, asking that we
initialize the printers. 3, 2, 1, y, y, and y result in daisy's
FUNCTION menu. But, upon pressing 1, we only get a BEEP,
since PO-HVfM has no input facilities. However, we can Print a
Header at 2. since the caption is input, on-line. Only 40
characters, since we use enlarged and emphasized print
for captions in PQ+MM.
When we punch 3 at the FM, we go straight to the
format menu, where we can allow for letterhead stationary
<8> or access trie Print Style Menu <3> . .
Now, when we punch 6 at the function menu, we get a
beep. However, let us break and set
uS= "This is a TEST!!!!"
OFFICE TOOLS
tu r bo ange
LORD COd« Ofc M9'
Ldad DbiSt-1
Daisy Wo 9*coc*
Use DbX (MAi L HtfSt)
To Fundi on M*nu
pa<9c M*n*s*m*r>t
R* -i n i X i * i i *« Of i „
crista /?f t out Lin* £>B
DiSlt MS t TOO I*
LO«D U^&frt*SS P«m
- lnd4P*nt«nt Pro9f»m
Pi cs
ma x
L i n«
85 <3
Line
Then, when we goto FM, and punch 6 at the FM, the
printer flies into action and prints our typing with the current
print style, all nicely indented or not, according to our last
specification when initializing the printers.
We can touch 8 at the FM and 8 at the office menu,
which brings up page management. Here, we can re-
number the current page, or we can also FORCE the end of a
page, by either skipping lines down to the bottom OR
changing the number of lines to page end, where we type the
current page number and continue on to the next page.
A touch of 9 at the FM causes the printer to feed a line,
whereas a touch of 0 prints out
OUR current letterhead, with or
without an (optional) addressee
block.. The print chain used is
pica.
Let us press #0 at the
function menu. We are
immediately asked whether we want
it with or without addressee. The
addressee option also lists the
current time, date, etc., from our
Dallas Smartwatch below our
telephone numbers!
both Sign Off and Page End
work the same as in the original version of daisy by Bill Jones.
Now, ManlAd has practically every feature of Daisy,
jammed into its BASIC code, While this leaves little room, in
which to maneuver, we can easily handle typewriter mode, as
all inputting is done on-line!
So, let us punch 0 at the main menu and load
ManJAd.B6. Our banner charges up, we iniiiahze the printers;
and, the function menu comes onto the screen.
By punching 1 at the FM, we can use the QUICKIE menu,
to construct a text file uS, containing a paragraph of
information. Back at the FM, we
touch 6, in order that the printer
immediately list uS on the page of
typing, using the current print style.
By pmiching 2 at the FM, we
input a caption for immediate
printout, centered on the page,
enlarged and emphasized.
We get the format menu with
a punch of 3 at the FM. This
accesses the Print Style Menu with
another punch of 3 . This also allows
for the presence of letterhead
stationary <8>.
As above, 6 causes the printer to put out whatever is
currently in ir$.
We can punch 8 at the FM and 8 at the office menu,
thus getting to page management, where everything works
as above with PO+MM. In fact, everything works for
typewriter mode in ManlAd, the same as in PO+MM with
the addition of #1, the aU-important ability to create uS.
So, if we can ever get some more memory, through bank
switching or something, then we can expand ManlAd even
more, to include any remaining few capabilities of Bill Jones'
Daisy suite of word processors.
As it. is, ManlAd is as good as Bill's software for
typewriter mode. In fact, it is better, as we don't have to wait
for any menus to load or subroutines to merge. Anyway,
next issue's discussion of the Style Menu, should terminate our
consideration of daisy.
L.9 th*86
f*^4& 33 & 9*
T*b mXt
ZXir Olive Alive!
IT
Spring 1997
ZX-81 Video Oispiiay 3y3terti - part 2 by win Rigter zx-team magazin
7 Pseudo Hires Video Harware
The pseudo hires graphics video display generator consists
of the ZSO CPU, ROM, RAM and a large part of trie ZX-81
Sinclair logic chip (ULA) as shown in Fig, 2 with all relevant
connections including the isolation resistors.. For simplicity, only
the 2K RAM version is shown,
ULA ROM no 2K RAM
VIQ&CK-! VSH11BSG <-DATM~~ /(RMH i IOATA t —R—IDATA I
i *iJMEOS ->A$~2l -IAQ-2 }—M~-j&<)~2 f~ I AOS !
i omutca ~>A3~$!- iJU-B }~~&~m-8 / M3-9 ?
I ! /A3--12/- — U9~13f
i BCWCSf /CS I I "1ST? IAS t
f t l i ; i i /
i mscsi — - i / m/osi
t AUf -—--/AH / L™ /
/ J«5? — IA2S I
i m .j~.-~~ — » — / «R j
i jRiPf — s — im i
s Mil mi i
i msQh — -r-imEQ i
i — nam ?
j mxt — < — } mi i
i BAIT I - - — 1 SALT I
I . i L ./
Fig. 3 Pseudo Hires Graphics Display Crcuit
The only difference between pseudo hires and Sinclair
character hardware is the ULA LCNTR and the use of the INT
input. Most, pseudo hires core routines do not use INT and the
ULA LCNTR is reset to zero every horizontal hue The
exception is Xtricator which uses INT and makes dual use of the
I register in INT mode 2 as part of the RST vector address when
interrupted at the end of each horizontal line and at refresh time
as a ROM pattern table pointer.
8. True Hires Video Hardware
The portion of the ZX81 hardware required for true hires
graphics display consists of ZSO CPU, the RAM, the video shift,
register and the sync circuit of the ULA as ho wn in Fig. 4 with
all relevant connections. Again the 2K SRAM is shown for
simplicity but applies to larger SRAM designs as well. If a 16K
RAMPACK is used, it must be slightly modified, as will be
shown later, to enable the data output during RFSH time as
required for this hires display method.
V « A ROM ZSO ZX RAff
vmm<-i vsnnssG odamj idata / — idata t — s— i data /
I ! }A0~l3l )M"l5i~- t&Q-lQt
I XOMCSh- ~iCB I ) I j j
> ' / - / 1 f > /
i jwKXf -~ i - f - fcs/oet
I A14f -UU4 } JU /
* M5> > - -IMS i
t im i
j mf m j
i mi-—- jmj I
i HRECti — -- am® i
} ZOBQI jiaXQ /
i . mil ~— — —ima i
I BAIT) ~ ~t8AlT I
I J . L /
FHS S TRUE HiRES GRAPHICS VSOE0 DISPLAY CIRCUIT
■ With frw esoo&piion of WRX1K whkih creaias a nMmm hirss screen onalK ZX81
■ m Hm programs nml 0 m fsm graphfes fife (HFILE). S^tabis Him for Urn hires
graphics can be ir^tiinsj^l % moeSfying a standard tfiK R^^so< wfh a coi»te
at ^Kl^ «ni a rector.
The RAMPAK is modified to enable the data output at RFSH
time by cutting the RD and RFSH lines at. the edge connector and
installing only two germanium diodes and a 4.7K pull-up
resistor.
ZXir QLive Alive! 28
+57
I
?
IH34&
FIG 5 RA^AOCSWDfflCATiOM FOR TRUE HIRES
Afi «» Ssrjclair 2X81 character a&ptey rwfeare ^Siewn in FIG 2 is rsqufrsci so
gaierals a siandafd scre^t 0$ 24 %(m 32 character* Tt» chgracter display starts
wh«t 8W last War* line st ihe top of Jha screen has occurred and ami She video
toutfrta jumps to the OfiLE ebovs 32K. Ths hardvws if! »hs 2X81 UlA takss
«of*c>l vtoi any opcod® is ®xs«uied abov« 32K (ASS high ar«3 tow) wilh <JsSa fert
6 aquss to asro The vidsc dsta is Ses^Jed in ihsss simplified steps;
1 . Th* UlA loads S» cnaracSer coda into * address regisisr in tie UlA
2. Th« ULA faces the date lfe»* low.
3. The CPU ini-arpwls she by Is as a MOP .
4. The ULA generate* part of *» RC^I pattern teWe adctess and tie ZSO CPU
fsn^st©? Ste ^sltem t^3ls pointer %-iti She i regisisr.
5. The pattern byte is leaded into tbe OLA siirft rsQisiw,
One ooald «ay Ihst tha 0»» i« Hwt^y awtaied wth §«S3ti%ife4 fer m^i
character Each KiOP «©ai@s m 4 CPU ctodc cyctea at 3..2S Mfe or S pfasete
^ t SMBte fern tn UlA vicfeo si* filter.
«— -cwM»cm a — ■ — — »<- -csajwctss 3— - — »
y 3»«s <--«--><— 1»-^->* ~w-*« r*—>*~ n—x— x3—><—«—>
— _ i_^jr 5
smaaas 1 U-i *. } s 1 x„i
mt „„ «w» -
R6 S 2X81 CHARACTER DiSPUY TSMiNG
1. Each character code (CHRS) byte in DFILE is addressed by
the CPU PC, on the rising edge T2 data is loaded from DFILE
into the ULA : bits 0-5 into a 6 bit ULA address latch while bit 7
is loaded into 1 bit ULA video invert latch
2. On the falling edge of T2, the ULA forces all CPU data hues
to zero.
3. On the rising edge of T3 the low data lines are interpreted by
the CPU as a NOP instruction.
4. During T3/4, the CPU executes the cycle and ROM address
lines are generated with 1 register on A9-A15, the ULA 6 bit
character code register on A3-A8, and the ULA modulo 8 hue
counter on line A0-A2, 5.
5. On the failing edge of 74, pattern data from the ROM is
loaded into ULA video shift register and 8 video pixels are
shifted out at 6.5MHz.
6. If character code bit 7 latch in ULA equals L video pixels are
inverted.
7. The CPU increments the program counter and fetches the next
character code.
8. This repeats until a HALT (Sinclair) is fetched.
9. HALT opcode bit 6=1 and is therefore executed (no NOP).
1 0. The ULA. generates a HSYNC pulse independend of the
CPU timing and the ULA LCNTR is incremented.
11. The halted CPU continues to execute NOPs, incrementing
register R and samples the INT input on the rising edge of each
T4.
12. "When A6, which is hardwired to INT, goes low during
refresh time, (bit 6 of the R reg = 0), the ZSO executes fee INT
routine (below 32K)
13. CPU returns from INT and resumes "excution" of DFILE
CHRS codes.
14. The process repeats 192 times and then INT routine returns
to the main video routine, turns on die NMI generator and
switc hes back to the ap plication code.
Spring 1997
in response to Don's request on page 6 ofZXir QLive
to unscramble the schematic in the final issue of UPDATE!
magazine. I had already done that - it was a challenge and
J recognized the problem. Attached is the unscrabled
version.. The problem is one of proportional versus non-
proportional fonts .
For example from page 6;
Courier font (non-proportional)
Compatible Serial I/F by WiltRigter
Helvetica font (porporrional) - figure above copied and
then font changed.
j 317
+
4-
| Vin Voutj
I i i
! I
i
317
Vin
Vou t
-Adj..
i
[330]
[330]
i verified the pinout of the 8251 and corrected pin 24
callouttoDTR.
Les Cottrel
TS2050 MODEM COMPATIBLE SERIAL l/F
+5
A5
A6
A7
A3
iORQ
M1
74HC138
-1
-2
-3
-4
'5
-6
A
vcc
B
Y3
C
E
E
E
8
OV
16
12
DO-
D1-
D2-
D3-
D4-
RD
WR
A2
CLK
-1"
—27
— -28
— _ 1
2
. 5
D5~ 8
D6 7
D7— - — 8
13
10
12
. 20
RESET
1
74HC14
5V
OV
16
' 3
12
10
Q4
74HC4060
RST QSI14
H 10M
33
ov
XTAL
33
7 -\
J Si
■25
- 9
11
4.912 MHz
CS
DO
D1
D2
D3
D4
D5
D6
D7
RD
WR
C/D
CLK
RST
RXC
TXC
VCC
TXD
RXD
26-
19
10 >
14
9
DTR
74HC14
~ 5< N 6
24 not used
RTS 23
CTS
ezs\
VSS
S1 for BAUD rate selection
Q4=9800/1200 Q8= 1200/300
"untangled" page 21 of final Issue
of Update! magazine
DSRI22
17-
74HC14
■13< i2
A
74HC14
•11<J10-
7
ZXir OLivs Alive!
OV
10 uF
DB25
0V
100
10K
}
100 J-
10K
1M
DB9
TX
2
RX
3
GND
7 5
RTS
7
CTS
8
0V
10K
DSR
1M
0 V
29
Spring 1997
JLi 2.09 - Part 2
1700 Find$="NULL"
1710 Search
1720 END DEFine
1730 :
1740 DEFine PROCedure label
1750 bop; AT 24,12; INK 2;
INPUT " printer ready (y/n) ?
";a$
1760 IF a$=="y" THEN GO TO 1780
1770 IF a$=="n" OR a$<>"Y" OR
a$<>"y"
THEN Show_DIF
1780 DELETE RAMl_label DIF
1790 OPEN_NEW#5,RAMl label_DIF
1300 Record$ »Z$ (n+1)
1810 FOR r=Q TO LEN f RecordS }
1820 IF r— LEN (RecordS ) THEN PRINT#5
1830 PRINT#5, Records (r+1) ;
184 0 NEXT r: END FOR r
1850 CLOSE#5
1860 la=14: exp to_txt
1870 END DEFine"
1.890 DEFine PROCedure QKp_t.o_t.Kt
1900 DELETE rami Recordjtxt
1910 OPEN NEW* 5, rami Record _txt
1920 FOR n-la TO LEN (Record?)
1930 IF Record$ (n)«CHR$ (34) THEN
NEXT n
1940 IF Records (n)=CHR$ (44) THEN
bop: PRI.NT#5:
END IF
19S0 IF Record$ (n)OCHR$ (44)
THEN PRINT#5, RecordS (n) ;
1960 NEXT n
1970 END FOR n
1980 CLOSE#5
1990 DIM T$ (16,96)
2000 OPEN IN#5,raml Record_txt
2010 FOR e=0 TO 14
2020 IF EOF (#5) THEN EXIT e
2030 INPUT#5,T$ (e)
2040 END FOR e: CLOSE#5: e=e-l
2050 OPEN#4,serl
2060 s=4
: REMark for onscreen test »>
3=2
2070 key $=T$ (0)
2080 sl_$=T$ (1)
2090 s2~$=T$ (2)
2100 s3~$-T$ (3)
2110 s4_$-T$ (4)
2120 s5_$=T$ (5)
2130 s6 $=T$ (6)
2140 s7_]$=T$ (7)
2150 s8_$=T$ (8)
2160 s9_$=T$ (9)
2170 slO $=T$(1Q)
2180 offset$=Blank$ (1 TO marginS)
2190 IF LEN(s2_$)=0 THEN
PRINTls, off set? & sl_$
2200 IF LEN(s2_$)>»l "
THEN PRINT#s, offsets S s2_$;"
"?sl_$
2210 PRINTS s, offsets & s3_$
2220 IF LEN(S4_$)=0 THEN GO TO
2230:
ELSE PRINT#s, of f set$ & s4 $
2230 PRINT#3, of f set$ & s5
";s6
s7 $
2240 Adj us t_ Printer
2250 CLOSE! 4
2260 n=lstnm
2270 ShowJDIF
2280 END DEFine
2300 DEFine PROCedure Set_Printer
2310 DELETE DviceS & "LineF eed"
2320 OPEN_NEW#5, Dvice$ &
"L.ineF_aed"
2330 BLOCK 260,14.45,167,0: STRIP
0: INK 5:
AT 17,15: PRINT CHR$(188)f
" Line Feeds between labels":
AT 17,11:
INPUT LnFdS
2340 IF LEN (LnFdS) =0 THEN
LnFd$="0": END IF :
FOR h=l TO LEN (LnFdS); IF
LnFdS (h)>CHR$ (57)
OR LnFdS (h) <CHR$ (48) THEN bop;
LnFd$="Q" :
END IF : NEXT h: END FOR h
2350 PRINTI5, LnFdS
2360 BLOCK 260, 14 , 45, 167, 0: STRIP
0: INK 5:
AT 17,15: PRINT CHR$ ( 188 ) ; "
Margin Offset":
AT 17,11: INPUT marginS
2370 IF LEN (marginS) =0 THEN
margin$="4": END IF :
FOR h=l to LEN (marginS) :
IF marginS (h) >CHR$ (57) or
margin? (h)<CHB.$ (48)
THEN bop: marginS-" 1" : END IF:
NEXT hi
END FOR h
2380 PRINT #5, marginS
!90 CLOSI
END DEFine
2410 DEFine PROCedure
Adjust Printer: DIM T$ (2,3)
2420 WHEN ERRor
2430 LnFdS="3": margin$="4"
2440 END WHEN
2450 OPEN IN#5, DviceS & "LineF_eed r
2460 FOR e=0 TO 1
2470 IF EOF (#5) THEN EXIT e
2480 INPUT#5,TS (e)
24 90 END FOR e: CLOSE* 5: e=e-l
2500 LET LnFd$=T$(0)
2510 LET margin$-T$ (1)
2520 LET offset=margin$
2530 FOR 2=1 TO LnFdS
2540 PRINT #3
2550 NEXT Z: END FOR Z
2560 END DEFine
2.580 DEFine PROCedure Search
: REMark open File: CLOSE#5:
CLOSE#6
2590 DIM ZS (384,756)
2600 OPEN IN#6, DviceS & Sname$ &
EXTen$
2610 FOR c=0 TO 386
2620 IF EOF (#6) THEN EXIT c
2630 WHEN ERRor
2640 CONTINUE
2650 END WHEN
2660 INPUT#6,Z$ (c)
2670 END FOR c: CLOSES 6
2680 c-c-2
2690 rn=0: n=0
2700 sedit: labels: Show_DIF
2710 END DEFine
2730 DEFine PROCedure show date
2740 AT 2,10
2750 FOR r=l TO LEN (Records )
2760 IF Records (2) =CHR$ (34) THEN
rr=r+l
2770 show_rest
2780 END DEFine
2800 DEFine PROCedure show_key
2810 AT 2,40
2820 FOR r=rr TO LEN (Records )
2830 IF Records (r)=CHR$ (34) THEN
2840 show_rest
2850 END DEFine
2870 DEFine PROCedure show_rest
2880 FOR r=r TO LEN (RecordS)
2890 IF Records (r)=CHR$ (34) THEN
NEXT r
2900 IF RecordS £r)=CHR$ (26) THEN GO
TO 2970
2910 IF RecordS (r)=CHR$ (44) AND
RecordS (r-l)=CHR$ (34) THEN GO
TO 2960
2920 IF RecordS (r)=CHP,$ (4 4) AND
Re co rd$ ( r - 1 ) < >CHR$ (34) THEN
PRINT RecordS (r) ? :
NEXT r
2930 IF RecordS (r)=CHR$ (44) AND
RecordS (r-1) <>CHR$ (32) THEN
PRINT ; NEXT r
2940 IF RecordS (r)OCHR$( 44) THEN
PRINT RecordS (r);: NEXT r
2950 END FOR r
2960 PRINT
BlankS? BlankS? BlankS; Blank$: rr=r+2
2970 END DEFine
2990 DEFine PROCedure show nums
3000 STRIP 0: INK 7
3010 y=2
3020 WINDOW 130,12,106,170
3030 FOR r-rn TO LEN (RecordS)
3040 IF RecordS ( r) OCHRS (44 ) THEN
PRINT RecordS (r) ; : NEXT r: END
IF
3050 IF y=2: WINDOW 130,12,105,180
3060 IF y=3: WINDOW 130,12,105,190
3070 IF y=4: WINDOW 130,12,356,170
3080 IF y=5: WINDOW 130,12,356,180
3090 IF y=6: WINDOW 130,1.2,356,190
3100 IF RecordS (r)=CHR$ (44) THEN
y=y+l: NEXT r:
END IF
3110 END FOR r
3120 WINDOW 512,256,0,0: INK 0
3130 END DEFine
3150 DEFine PROCedure Show, DIF :
y=0 ;
REMark. CHR$ (34/44/32) =
" , <space>
3160 WINDOW 512,256,0,0
3170 redit: stripe
3180 AT 22,2: PRINT "Rec # : ";:
INK 2:
PRINT n?TO 22;: INK 0: PRINT
"Find : ";:
IF Find$-"NULL" THEN INK 7:
ELSE INK 5:
PRINT FindS
3190 STRIP 0: INK 7:
3200 AT 24,3: PRINT CHR$ (190) ;
CHR$ (191) ;
CHR$(188); CHR$(1.89);: INK 2;
PRINT"
[back/next/first/last] "; :
INK 7: PRINT TO 42, "F" ? : INK
5: PRINT"ind :
INK 7: PRINT"M" ? : INK 5:
PRINT"ore "/: INK 7:
PRINT"R"; : INK 5; PRINT"ecord
" ? : INK 7 :
PRINT " P " ; : INK 5 : PRINT " ri nt
s " ■ : INK 7 :
PRINT"W";: INK 5: PPJNT"itch
e"? : INK 7:
PRINT"X";; INKS: PRINT"it"
3210 Record$=Z$ (n+1)
3220 STRIP 2: INK 7
ZXir QLive Aiive!
30
Spring 1997
3230 AT 1,2: PRIM" "Using :
SnameS &. EXTen$ ? Blanks
3240 AT 2,2; PRINT " Date :
Blanks
3250 show_date
3260 AT 2,34: PRINT "Key :
";Blank$
3270 WINDOW 260,10,240,20; PAPER 2
CLS
3280 rc-l
3290 FOR r=rr TO CHR$(34)
3300 STP.IP 0: INK 7
3 3 10 IF Re co rd$ ( r ) =CHR$ (34) THEN
NEXT r
3320 IF Records (r)=CHRS (26) THEN
r=r-l: END IF
3330 IF Records (r)=CHR$ (32) AND
Record$ ( r- 1 ) =CHR$ (4 4) THEN
PRINT Records (r-1) ";: NEXT
r
3340 IF Records (r) <>CHR$ (44) AND
P,ecord$ ( r-1) =CHR$ (44 ) AND
Re cord$ ( r- 2 ) =CHR$ (34) THEN
show_nums:
' GO TO 3410
3350 IF Records (r)==CHR$ (44) AND
Record$ (r-1) <>CHR$ ( 34 ) THEN
PRINT; : NEXT r
3360 IF Record$ (r) ==CHR$ (44) THEN
PRINT; NEXT r
3370 PRINT Records (r);
3380 NEXT r
3390 END FOR r
3400 WINDOW 512,256,0,0
3410 Options
3420 END DEFina ShowJDIF
3440 DEFine PROCedure Options
34 50 REPeat ops
34 60 LET reed-CODE(INKEY$ (-1) )
34 70 IF reed=10 THEN Show DIF
3480 IF reed-70 OR reed=102 THEN
f i nd
3490 IF reed=77 OR reed-109 THEN
more
3500 IF reed=8Q OR reed=112 THEN
label
3510 IF reed=82 OR reed=114 THEN
Record
3520 IF reed=87 OR reed-119 THEN
sWatch
3530 IF reed=88 OR reed-120 THEN
PAPER 7: CLS; menu
3540 IF reed=208 THEN up
3550 IF reed-216 THEN down
3560 IF reed-192 THEN first
3570 IF reed=200 THEN last
3580 END REPeat ops
3590 Show_DIF
3600 END DEFine Options
3620 DEFine PROCedure up
3630 IF n<=0 THEN first
3640 FndBlnks n=n-l: lstnm=n:
Show_DIF
3650 END DEFine up
3670 DEFine PROCedure down
3680 n-n+1
3690 IF n=c THEN first
3700 FndBlnk; lstnm=n: Show_DIF
3710 END DEFine down
3730 DEFine PROCedure first
3740 FndBlnk: n=0: Show_ DIF
3750 END DEFine first
3770 DEFine PROCedure last
3780 n=c-l
3790 IF n=c THEN first
3800 FndBlnk: lstnm=n: Show_DIF
3810 END DEFine last
3830 DEFine PROCedure Record
3940 »fc*\ipen AT 22,10» PRINT
Blank$ (1 TO S) s
AT 22,2: INPUT "Rec # : ";Rn:
3850 IF Rn$="" THEN ShowJDIF
3860 n=Rn$
3870 IF n>c THEN last
3880 ShowJDIF
3890 END DEFine Record
3910 DEFine PROCedure find
3920 POKE 163976, 0
3930 stripe: FndBlnk: AT 22,22:
INPUT 'Find : ' ; Find$
3940 IF Find$=="" THEN ShowJDIF
3950 n— 1
3960 more
3970 END DEFine find
3990 DEFine PROCedure more
4000 IF Find$=="MJLL n OR Find$=""
THEN ShowJDIF
4010 AT 22,29: STRIP 7: INK 2:
PRINT Find$
4020 cap$=Find$ (1)
4030 IF CODE(cap$) >96 THEN bop:
cap$=CHR$ (CODE (cap$) -32)
404 0 FOR n=n+l TO c-1
4050 Record$=Z$ (n+1)
4060 AT 22,10: PAPER 7: INK 2:
PRINT n;Blank$(l TO 4): PAPER
0: INK 7
4070 FOR fi=0 TO LEN (Records )
4080 IF cap$ORecord$ (fi+1) AND
Fi nd$ ( 1 ) < > Re co rd$ ( f i + 1 ) THEN
NEXT fi
4090 IF Find$ (l)==Record$ (1+fi)
THEN
IF Find$— Records (1+fi TO
LEN (Find$ ) \ fi) :
lstnm=n: Show DIF
4100 NEXT fi
4110 END FOR fi
4120 NEXT n
41.30 END FOR n
4140 n=c-l AND Find$OREC$ (1+fi TO
LEN(Find$)+f.i) ;
STRIP 7: bop; INK 2: AT 22,29:
PRINT 1 no (more) match (es)
found for " ' ; :
INK 0: PRINT Find$?: INK 2:
PRINT ' " ... » :
bop: STRIP 0: INK 2: AT 24,10:
PRINT" ";Press$;" ": PAUSE:
BLOCK 300,10,168,220,7:
FndBlnk: n=l.stnm:
Show_DIF
4150 END DEFine more
4170 DEFine PROCedure menu
; REMark program screen
4180 fenetre=0: CLS: INK 0
4190 Find$="NULL"
4200 Cmd_L±ne: MoreFile: SelectFiie
4210 END DEFine start
4230 DEFine PROCedure Cmd_Line
: REMark more program screen
4240 PAPER 7: AT 1,7: stripe:
PRINT" FILES I/O DEVICES "TO
50? "EXIT "
4250 BLOCK 512,1,0,9,2: BLOCK
512,1,0,20,2
4 260 INK 2; AT 1,58: PRINT ' @
PLATYPUS Software':
INK 0
4270 END DEFine Cmd_Line
4290 DEFine PROCedure Keyl
4300 REPeat KEYp
4310 ke^CODE ( INKEYS )
4320 IF ke=9 OR ke=32 OR ke=27 OR
ie=253 THEN bop:
EXIT KEYp
4330 IF ke=208 OR ke=216 THEN EXIT
KEYp
434 0 END PJEPoat KEYp
4350 END DEFine Keyl
4370 DEFine PROCedure Key 2
4380 REPeat Qep
4390 ke=CODE (INKEYS)
4400 IF ke=7Q OR ke=71 OR ke=77 OR
ke=78 THEN
EXIT Qep
4 410 IF ke-82 OR ke-84 OP. ke-87 OR
ks=8 8 THEN
EXIT Qep
4420 IF ke=102 OR ke==103 OR ke-109
OR ke=110 THEN
EXIT Qep
4430 IF ke-114 OR ke-116 OR ke=119
OR ke=120 THEN
EXIT Qep
4440 IF ke=232 OR ke=236 OR k.e=240
OP^ ke=248 THEN
EXIT Qep
4450 IF ke=250 OR ke=*253 OR ke-27
OR ke=9 THEN
EXIT Qep
4460 IF ke<236 AND ke>=27 THEN bop:
Key2
4470 END REPeat Qep: END DEFine
Key2
4490 DEFine PROCedure Key3
4500 REPeat QEYp
4 510 ke-CODE ( INKEYS )
4 520 IF ke=234 OR ke=82 OR ke-114
OR ke-115
OR ke-83 THEN EXIT QEYp
4530 IF ke=67 OR ke=68 OR ke=79 OR
ke=86 OR ke=87
THEN EXIT QEYp
4540 IF ke=99 OR ke=100 OR ke-111
OR ke=118
OR ke-119 THEN EXIT QEYp
4550 IF ke=232 OR ke-236 OR ke-238
OR ke-240
OR ke=248 OR ke=234 THEN EXIT
QEYp
4560 IF ke-242 OR ke=80 OR ke-112
OR ke-246
OR ke-121 OR ke-89 THEN EXIT
QEYp
4570 IF ke=25Q OR ke=253 OR ke=27
OR ke=9 THEN
EXIT QEYp
4 580 IF ke<236 AND ke>=27 THEN bop:
Key3
4 590 END REPeat Q
4600 END DEFine Key3
4620 DEFine PROCedure PickOne
: REMark TAB/shif t- TAB/ SPACE
4630 IF ke - 250 THEN BEEP 900,20;
menu
4640 IF ke = 253 THEN BEEP 900,20:
PrevWindow
4650 IF ke = 9 THEN BEEP 200,10*.
NextWindow
4660 IF ke - 27 THEN BEEP 200,10:
f enetre=4 :
PrevWindow
4670 END DEFine PickOne
4 690 DEFine PROCedure NextWindow
: REMark move to right
4700 fenetre = fenetre+1;
IF fenetre>2 THEN fenetre=0
4710 WindowChoi.ce
4720 END DEFine NextWindow
4740 DEFine PROCedure PrevWindow
: REMark move to left.
4750 f enetre=f enetre-1 : IF
fenetre<0 THEN fenetre=2
4760 WindowChoice
4 770 END DEFine PrevWindow
4790 DEFine PROCedure WindowChoice
: REMark branch to ...
4QQO CLBoroon
4810 IF fenetre = 0 THEN File
ZXir QLive Alive!
31
Spring 1997
4820 IF fenetre = 1 THEM devo
4830 IF fenetre - 2 THEN out
4840 END DEFine WindowChoice
4860 DEFine PROCedure out
: REM ark EXIT program
4870 CmdJLine: AT 1,49: STRIP 2;
INK 7:
PRINT " EXIT "i stripe
4880 JCeyl: PickOne
4890 SELect ON ke
4900 =32: GO TO 5980
4910 END SELect
4920 END DEFine
4940 DEFine PROCedure devo
: REMark select I/O device
4950 CmdJLine: AT 1,14: STRIP 2:
INK 7:
PRINT" I/O DEVICES "
4960 WINDOW#3,136,112,84,20
4970 PAPER#3,7; BORDER* 3, 1, 2;
INK#3,5: CLS#3
4980 BLOCK 7,112,220,21,55: BLOCK
137,7,90,132,55
4990 STRIP#3,0: PRINT#3,TO 6; "I/O
device" ;
Blank$(l TO 6): STRIP#3,7:
INK* 3,0
5000 PRINT#3,\" [Fl] = flpl_
5010 PRINT*3, " [F2] = f lp2 "
5020 PRINT#3,\" [F3] - mdvl"
5030 PRINT#3, " [F4] = mdv2~"
5040 PRINT*3,\" [F5] = other
: REMark serl/ser2/etc. , okay
5050 STP,IP*3,2: INK#3,7:
PRINT #3,
'; Label$;'
5060 GR=0: fenetre=l: Key2: PickOne
5070 SELect ON ke
5080 =27: fenetre=0: File
5090 =232, 70,102: Dvice$="flpl_
menu
5100 =236, 71,103: Dvice$-"flp2_
menu
5110 =240, 77,109: Dv.ice$="mdvl_
menu
5120 =244 , 78,110: Dviea$=' T mdv2__
rne nu
5130 -119, 87: Dviee$="winl ": menu
5140 =120, 88: Dvi.ce$="vin2J ? : menu
5150 =114, 82: Dvice$="raml_": menu
5160 =116, 84: Dvice$=" ram2 ~" : menu
5170 =248: IPdev
5180 File
5190 END SELect : END DEFine devo
52.10 DEFine PROCedure IPdev
: REMark "other" I/O device
5220 BLOCK 54,10,162,100,7: stripe
5230 AT 10,27: INPUT DviceS
5240 IF LEN(Dvice$)<>5 THEN GO TO
5220
5250 IF Dvice$(5)<>" " THEN GO TO
5220
5260 IF Dv±ce$(4)<CHR$ (49) OR
Dvice$ (4) >CHR$ (56)
THEN GO TO 5230: ELSE devo
5270 END DEFine IPdev
5290 DEFine PROCedure File:
CLOSE*5: CLOSE#6:
MoreFile: SelectFile: END
DEFine
5310 DEFine PROCedure MoreFile:
CLOSE* 5: CLOSE* 6
5320 IF GR=0: COLOR=7: STRAP=S:
PEN=0
5330 IF GR-1: COLOR-31: STRAP=51:
PEN=2
5340 CLScreen
5350 Cmd_Line: AT 1,7: STRIP 2: INK
?i PRINT" FIIiBS "« etripo
5360 ¥INDO¥#3,266,187,42,20
5370 PAPER*3 , COLOR: BORDER* 3, 1,2:
INK#3,0: CLS#3
5380 BLOCK 268,8,46,207,55: BLOCK
7,188,308,21,55
5390 PRINT*3,\" [Fl] - "; :
UNDER* 3, 1:
PRINT#3, w O"# : UNDER#3,0:
PRINT*3, "pen a database for
SEARCHing"
5400 PRINT#3,\" [F2] =
UNDER* 3, 1:
PRINT # 3 , " C" ; : UNDER* 3 , 0 :
PRINT*3, "reate a new database"
5410 PRINT#3,\" [F3] = "?:
UNDER* 3, 1:
PPJNT*3, "D" ; : UNDER* 3 , 0 :
PRINT*3,"evices (change)"
5420 BLOCK#3 f 262,45, 0,63,7:
PA^ER*3 7
5430 PRINT*3,\" [F4] = s";:
UNDER#3,1:
?RINT#3,"W"; : UNDER#3,0:
PRINT*3,"itch "?Dvice$ &
Sname$ & EXTen$
5440 BLOCK*3, 262, 45, 0,83, COLOR.:
STRIP* 3, COLOR:
PRINT#3,\" [F5] - "; :
UNDER* 3, 1:
PRI NT * 3 , "V" ; : UNDER* 3,0:
PRINT*3, "erify ";Dvice$ &
Sname$ & EXTen$
5450 INK*3,7: STR1P#3,2:
BLOCK#3, 262, 40, 0, 105, 2
5460 PRINT*3,\" [F6] = :
UNDER* 3, 1:
PRINT#3, "R" t : UNDER* 3, 0:
PRINTI3, "eturn to ";Dvice$ S.
Sname$ & EXTen$
5470 STRIP*3,0:
BLOCK*3, 262, 60, 0, 125, 0
5480 PRINT#3,\" fF7] = "; :
UNDER* 3, 1:
PRINT *3 , " S" f t UNDER* 3, 0
PR1NT#3, "creen__edit ";Dv.ice$ &
Sname$ & EXTen$
5490 PRINT*3,\" [F8] = "? :
UNDER* 3, 1:
PPJ.NT#3, "P" ; : UNDER#3, 0:
PPJNT#3, "rinter Line Feeds ";:
INK*3,5:
PRINT # 3 , LnFd$ ; : INK* 3,7:
PRINT#3," / Margin "? :
INK* 3, 5:
PRlNT#3,margin$
5500 INK#3,7: PRINT*3,\" [F9J -
director" ; :
UN DER* 3,1: PRINT * 3 , " Y" ; :
UNDER* 3, 0
5510 END DEFine MoreFile
5530 DEFine PROCedure SelectFile
5540 Key3: PickOne
5550 YourChoice=ke
5560 SELect ON YourChoice
5570 = 27: out
5580 =232, 111, 79: GR-1: Search
5590 =234, 114, 82: GR=1: reSHOW
5600 =236, 99, 67: GR=0: MoreFile:
bop: xyz=0:
MakeFile
5610 =238, 115, 83: GR=0:
MakeLabel: CLS
5620 =240, 100, 68: GR-1: MoreFile:
devo
5630 =242, 112, 80: GR=0:
SetJPrinter
5640 =244, 119, 87: GR=1: switch
5650 =248, 118, 86: CLScreen:
COPY Dvioo$ S. Snamo? & SKTon?
TO con_438X201A42X31: GR=0:
PAUSE
5660 =246, 121, 89: GR=1: direct:
PAUSE
5670 END SELect
5680 File
5690 END DEFine SelectFile
5710 DEFine PROCedure switch
: REMark change active
Fi lename
5 720 GR-1: MoreFile
5730 CLStrip
5740 AT 1,7: STRIP 2: INK 7: PRINT"
NEW_NAME ":
stripe
5750 BLOCK 200,12,104,90,0
5760 BLOCK 196,10,106,90,7
5770 STRIP#3,7: AT 9,17: INPUT ' NEW
Filename:
SnameS
5780 IF LEN (Sname$) =0:
Sname$="GADDRESS" :
BEEP 100,10
5790 IF LEN(Sname$) >8:
Sname$="GADDRESS" :
BEEP 2000,20: GO TO 5720
5800 GR=0: File
5810 END DEFine NewjMame
5830 DEFine PROCedure re SHOW: CLS:
sedit: ReLabel:
ShowJHF: END DEFine
5850 DEFine PROCedure ReLabel
5860 WINDOW 86,160,10,50
5870 FOR l.a=l TO 10
5880 PRINT L$ (la)
5890 NEXT la: END FOR la
5900 PRINT: PRINT
5910 FOR la-11 TO 13
5920 PRINT L$ (la)
5930 NEXT la: WINDOW 86,40,260,170
5940 FOR la=14 TO 16
5950 PRINT L$ (la)
5960 NEXT la
5970 END DEFine
5990 DEFine PROCedure direct: DIM
di.r$ (384,24)
6000 DELETE Dv.ice$ & "FLIST_imp"
6010 OPEN_NEW*6,Dv.ice$ &
"FLlST_imp"
6020 DIR#6,Dvice$: CLOSE*6
6030 OPEN IN*7,Dvice$ & "FLISTJLmp"
6040 FOR c=0 TO 383
6050 IF EOF (#7) THEN EXIT c
6060 INPUT#7,dir$ (c) : END FOR c:
^3jOSE * o~ c "j.
6070 CLS*3: PAPER*3,7: INK#3,0:
PRINT* 3
6080 FOR n=2 TO c
6090 dirY$=dir$ (n)
6100 IF LEN (dirY$ ) >4 AND
dirY$ (LEN (dirY$ ) -3
TO LEN (di tY$ ) ) =— "_esp" : bop :
PPJNT#3,TO 2;dirY$
6110 NEXT n
6120 END DEFine
6130:
6140 CLScreen: CLStrip: bop
6150 AT 1,8: INK 0: STRIP 5: PRINT"
CAPS LOCK " ; :
IF NOT PEEK_W (163976) : PRINT
"off ": ELSE :
INK 2: PRINT "ON ": stripe
6160:
6170 REMark * * * * * * *
PLAY TY PUS Software
•* **• **■ -k
ZXir QLive Alive?
32
Spring 1997
Place your ads here
Maii to: A. KAHALE 3343 S FLAT ROCK CT
it is free!
SIERRA VISTA AZ 85835-6874
SPECTRUM for your 2068
If you are a LarKen LK-DOS owner and would like to run
SPECTRUM programs on your system, we will supply a V2
EPROM, socket and 74HCT32 for $12 which includes shipping and
handling. The installation instructions are in your LarKen manual.
We shall not be responsible for your install job. AERCO owners
need only the EPROM for $10 forwarded to LarKen.
Bob Swoger Address on page 2
74 7 JHtglji jgiimnlaior
So you like to fly, the 747 Flight Simulator for SPECTRUM by
Derek Ashton of DACC. Requires a SPECTRUM equipped 2068.
Supplied on LarKen SSDD or DSDD LarKen disk for $10 which
goes to Derek now working at Motorola with Bob.
Bob Swoger Address on page 2
PRh Chips
Programmable Array Logic chips arc available for
some Timex and QL's from:-
NAZIR PASHTOON
NAP_Ware
940 BEAU DR APT 204
DES PLAINES IL 60016-5876
Phone(eve.) 708 439-1679
A Strategic Generic War Game for the TS-2068
€ i i i I E I T
> Available on tape, or disk, AERCO, Oliger. Game and map
SAVEs in BASIC allows conversion to your system.
y Completely in fast machine code. Games can be SAVEd and
CONTINUEd. Price $19.95 + $2.50 S&H.
Order from:- or>
LLOYD DREGER SMUG
2461 S. 79THST BOX 101
WEST ALUS Wl 5321 9 BUTLER Wi 53007
The John Oliger Co*
11601 Widbey Dr.
Cumberland IN 46229
The John Oliger Floppy Disk System
FOR THE TS-2068
DiskWorks
Expansion Board
2068 User Cartridge
Disk Boards "A" & "B"
2068 Parallel Printer Port
2068 EPROM Programmer
2068/SPECTRUM Joystick Port
DFh Mapped Universal I/O Port board
Vpp Power Supply
User Manual only : $5 . 00 (Read before you buy)
Service Foi* M
Favorite Home Computers and Their Accessories
SS1CL1II
TIMEX ADAM ATARI IBM OSBORNE
TI COMMODORE TRS-80
BUY SELL TRADE UPGRADE
486DX2-80 Computer $600 + tax
340 Meg. HD, 8MB RAM, 1.44 Floppy, Keyboard, Mouse,
VGA color monitor.
5 86DX- 133 Computer $ 775 + tax
500Meg. HD, 8MB RAM, 1.44 Floppy, Keyboard, Mouse,
SVGA color monitor
686-P12©-f Computer $1025 + tax
1 GB HD, 16 Meg. RAM, 1.44 Floppy, Keyboard, Mouse,
SVGA color monitor
14.4 Fax/Modem $45
8X Multi-Media Kit $ 1 75
Repair Charg e Examples
TS-1000, ZX-81, 1016 RAMPaek, Memotech, ZEBRA Talker,
MIRACLE Centronics, RAM Centronics.
$5.00 each + pails & shipping.
TS-2020, 2040, PC-8300, ZX--80, T7-99, Z-SIQ, Byte-Back,
AERCO 2068 Centronics, BASICare, LarKen RAM Disk
$10.00 each + parts & shipping.
TS-2068, Spectrum, A&J MicrD, Miracle 51 2K, LarKen 1000 &
2068 FDI, Kempston FDI, Cumana FDI, CST FDI.
$1 5.00 each + parts & shipping. My 1,1996
Reasonable flat rate plus parts and shipping.
Write or call for prices S ASE appreciated
RT 1 , BOX 117
CABOOL MO 65689
Phone 417 489-4571 41 7 467-4571
PROFILE -ZX-81 (tic-tac-toe)
ZX-TEXT - Word Processor
ZX-CALC - Spreadsheet
Business Software
Cycle Accounting Financial Report Generator
ZX-CALENDAR - Time Management
ZX-81 TS-1000 TS-1500
ZXir QLfve Alive!
33
Spring 3997
TS-2068
Albert F. Rodriguez
F.R. Software
1605 PENNSYLVANIA AVE 204
MIAMI BEACH FL 33130
305 531- 6464
Wake David an Offer
ZX-81/TS-1000 TS-2068
Hardware Kits
Real Time Clock I/O Controller RS-232
Centronics i/F 1 6K & 64K RAM 300 BAUD
Modem A-D Convertenassembied)
538 LONG TER
LEESVILLE SC 29070
PLAIYFUS
SOFTWARE
QLAMBer $20
QLuMSi $20
QLUTter $20
Upgrades $5
fit i #«f
914 RIO VISTA CIR SW
ALBUQUERQUE NM 87105
(505) 843-841 4
Get In Touch
810 254-9878
24 hours a day
300 to 1 4400 bps
Supporting all Sinclairs and Timex users
Fidonet echomail areas for Sinclair computers
Lots of new files for you to download such as
TS-2068 emulator for those who use a PC
Give us a call and let us know what you want to see
Message Area & File Area
QL International, Quanta, QL Hackers Journal,
Spectrum/2068, ZX-81/TS-1Q00, Z88, NetMail,
Emulators, Pointer, FDFORMAT for QXL/QDOS etc.
SYSOP John J. Impeliizzeri
Co-SYSOP Don Walterman
Utica, Michigan, USA
'How-To' is in the April, 94, UPDATE! Magazine
ARCHIVE Based QL Software
QLerk - A complete financial program for the QL
QLerk software (v3.21) with tutorial $29
QLerk manual $29
QLerk software & manual $50
DBEasy - A menu based database system
DBEasy software (v1 .6) $24
DBEasy upgrade from V1 .5 $7
DBProgs - A toolkit of ARCHIVE procedures
DBProgs software (v1 .8) $1 8
DBProgs upgrade from V1 ,7 $7
DBTutor - A general purpose learning program
DBTutor software(v1 .5) $12
PC DBEasy - Just like QL DBEasy but, you
must have PC ARCHIVE to use It.
PC DBEasy software (v1 .3) $ 1 2
WOOD & WIND COMPUTING
RR3 BOX 92
CORNISH NH 03745 USA
Phone (603) 675-2218
Email : bcable@triton.coat.com
omino
Cub
e $
Hardware S Software
352 7 th Ave. 1 5 th Fir.
New York, NY 10001
Phone 212 631-7563
Fax 212 947-5069
Voice mail pager 917 490-8407
LIST er
Tke Long IsLuui Sh&ol&h?flimB,®?£. Users Group
L. I. S. T.
HARVEY RAIT
5 PERI LN
VALLEY STREAM NY 11581
New England Sinclair QL Users Group
16 HIGHLAND AVE
SAUGUS MA 01906
617 233-3671
ZXir QLive Alive!
34
Spring 1997
Supporting All QL Programmers
Timothy Swenson, Editor
38725 LEXINGTON ST 230
FREMONT CA 94536
(510)790-7034
Email: swensont@projtech.com
xV J. o Newsletter
The Capital Area T/S Users Group
BARRY WASHINGTON
7044 CINDY LN
ANNANDALE VA 22003
301 589-7407
BBS 301 588-0579
Internet mf0002@epfl2.epflbalto.org
Chicago Area Timex Users Group
PHILLIP KWITKOWSKI
2106 DOVER LN
ST CHARLES IL 80174
803 584-6710
Newsletter
The Greater Cleveland T-S User Group
Thomas Simon editor
615 SCHOOL AVE
CUYAHOGA FALLS OH 44221
E-Mail CIS 73177,333
Jon Kaczor production
4568 WILLIAMSON AVE
BROOKLYN OH 44144
75363.1 127@COMPUSERVE.COM
Peter Liebert-Adelt
LUETZOW STR 3
D-38102 BRAUNSCHWEIG
GERMANY
Email: p.iiebert@t-oniine.de
TS-2068 books:
1 Technical Manual - Time Designs Magazine
1 The Timex Sinclair 2068 Explored - (Tim Hartnell)
ZXir QLive Alive!
1 T/S 2068 Basics And Beyond - (Sharon Z. Aker)
2 User Manuals - T/S 2068 Personal Color Computer
1 Beginner/Intermediate Guide (Fred Blechman)
1 Intermediate/Advanced Guide (Jeff Mazur)
1 Pro/File 2068 (Thomas B. Woods)
TS-IOOO &ZX-81 books:
3 User Manuals (1000)
1 T/S 1000/ZX81 User's Handbook (T. Terrell & R. Simpson)
ZX81 Basic Book (Robin Norman)
1000/ZX81 Basic Book (Robin Norman)
ZX81 BASIC Programming (Steven Vickers)
ZX81 Programming For Real Applications (Randle Hurley)
37 Timex 1000/Sinclair ZX81 Programs For Home,
School, Office (Edard Page)
1 Brain Games (John Stephenson)
1 Hie Explorer's Guide - ZX81 & T/S 1000 (Mike Lord)
1 Mastering Machine Code - T/S 1500/1000 (Toni Baker)
8 QuarTerS - Spring/85 through Winter/86
1 (SQ) Syntax Quarterly VoL2#l
28 SUM August/84 thru July/86
2 Sync (Special issue) 1982?
6 Sync Vol.3 #3 through Vol.4 #2
12 Syncware News Vol.2 #1 through Vol.3 #6
1 " " "(Catalog) Vol. 1 June/83 thru June/84
6 Syntax Vol.3 #3 and Vol.5 #7 thru #1 1
17 Time Designs Vol.#3, #6, VoL2 #1, #5, #6
Vol.3 #1 Through Vol.4 #6
8 Timex Sinclair User Vol.1 #1 through #7
21 T-S Horizons Issue #1 through #21
28 UPDATE Jan.88 through Oct. 94
Hardware
1 TS-2968 computer - Never been used.
1 Amdek (# AMDISK III) dual disk drive.
1 Used TS-2040 printer with 3 extra rolls of paper.
1 Used Zebra FDD disk drive. Good for spare parts.
1 Westridge TS-2050 modem, rarely used.
1 ProScan FX-200, never used.
Make an Offer ©n Any Item or All
Fred Henn
230 N FRENCH RD
AMHERST NY 14228-2033
Ph. & Fax 716 691-9495 ^
WANTED: TS-1500 Keyboard in working condition, new or
used.
GORDON MANSKE
21 47 S 30th ST
MILWAUKEE, Wl 53215
414 645-5384
WANTED." MicroAce, T/S-1500, CZ1000/1500, TKS2/83/ 85
and each MEMOTECH module for ZX81 except memory
modules 16k and 32K and printer I/F. Write to:
PETER LIEBERT-ADELT
LUETZOWSTR. 3
D-38102 BRAUNSCHWEIG
GERMANY
E-mail: P.Liebert@t-online.de
FOR SALE: Radio Shack CGP-115 Color Graphic Printer
35
Spring 1997
/Plotter, like new condition, $65.00.
QL Computer, new, never used. Package includes: Trump Card
(768K), P/Supply, manuals, extra motherboard (if wanted),
printer cable and 24 Micro-Drive cartridges (10 preprogrammed
and 14 blank) $125.
WANTED: PC Magazine, Vol. 3, No.. 23 (Nov,. 27, 1984)
and/or Vol. 6 No. 19 (Nov., 1987). Also "Printers" issue
between 1990 - 1993.
D G SMITH
415 STONE ST.
JOHNSTOWN PA 15906-1609
(814) 535-6 998
WANTED: Terminal program(s) to run TS-2050 modem on
TS-1000 and TS-2068 in cassette format. Machine code tutor
for the 2068 (Knighted Computers -- 2 cassettes) or similar for
2068 or 1000.
DOUG WAGONER
E 4825 ST ANTHONY LN
POST FALL ID 83854-8812
ANTED: All information about ColorWorks or plus +
Color Graphics, distributed by Plus + Pac System International,
Chicago. Write to;
HENNING RAEDER
EMMERICHER STR. 35
D-46147 OBERHAUSEN
GERMANY
WANTED: Any books and/or information on the ZX-81
ROM and ULA chips. Write to:
JOSE MORENO
1871 N GLADES DR APT 3
N MIAMI BEACH FL 33162
SALE; 1 3- Year Collection of T/S Computers
2 - QL's with QL printers and many spares and
accessories.
3 - TS-2068' s with printers and many spares, acc. And
many S/W.
1 - TS-2068 CMOS motherboard with spares and acc.
1 - TS-2068 Oliger DOS system built into IBM style
case, complete with parallel printer port and CGA
monitor. Many spares and acc.
1 - TS-2068 Oliger EPROM programmer, cartridges and
EPROMs and many spares and accessories.
TS-1000, TS-1500, PC3800 and their accessories
For complete list, send a SASE to:
R. A. JELEN
11443 ISLAND RD.
GRAFTON, OHIO 44044
or call (216)748-3830 for details
FOR SALE 960101 Half Height Quad Density 5.25" (720K)
Floppy Disk Drives. $25 each or 10 for $150.
5 IBM XT 10MHD640K RAM 360 FDD monochrome
monitor & keyboard serial and parallel ports $200
IBM 286 20M Hard Drive 1MRAM1.2M and 1.44M Floppy
Drives monochrome monitor & keyboard serial and parallel ports
$350
Computer Classics
RT1,Box117
Cabool MO 65689
417-469-4571
Tlae Fiaai Version
Newly updated, easy-to-read, LarKen
LKDOS ver.3 Manual
Includes missing information related to the JLO and the
Tasman 'B' CPL mouse and re-numbering program.
Updated version 6.0 LogiCall Manual
with sections on utilities and BASIC drivers for
modified commercial software and switching system
ROMs without powering down.
Available now for $1 5 from
FWD Computing & RMG Enterprises
From Scotland
MOT/ VA Tl
The New Name in Sam Coupe Software
Zenith Graphics & MOTIVATION presents
Edition 1 £4.00 Or all 3 editions for £10
Edition 2 £4.00
Edition 3 £4.00 Pius an extra FREE disk
called EXTREME (Issue 0)
The Edition Trilogy of disks are packed full with loads of
good, addictive and playable games, demos plus
amazing utilities and if bought with Extreme, you'll also
enjoy many scarce and some never released programs!
Single Extreme issue costs only £1 .75
So don't delay — Post today
We want to act as an outlet where we can put new Sam Coupe
owners in touch with other Sam owners and organizations.
Spectrum software on tape
We are now selling NEW Elite utilities: Notepad 1.0
(WP), Prowriter (Notepad 2.1), Dirman (51 2K only)
£4.99
Please send your money orders and contributions to:
ALEC CARSWELL
MOTIVATION
16 MONTGOMERY AVE
BEITH AYRSHIRE KA1 5 1 EL
UNITED KINGDOM
The ZX Spectrum 48/128 Emulator
for IBM & Compatables: ZSO Version 2.01
Turn your PC into a realZX Spectrum 48/128!
The fastest, most cornpatble and most complete emulator
available! Main features:
=>~ Full Spectrum emulation, border, flash, beeper, Interface 1,
Microdrive in cartridge file, RS232 input and output redirection
to fife, COM or LPT, joystick support, 128K sound through
Soundblaster or internal speaker, built-in. monitor,
ZXir QLrve Alive!
36
Spring 1997
=>- Able to load ANY, even protected or speed-saved program
from tape, to save to tape., to redirect tape loads and saves to
disk for easy 'file access,
=>- 2500 line English documentation, frequently-asked-
questions file, PostScript file of doc, keyboard help screen,
utilities to convert Spectrum screens to -.GIF and .PCX files,
convert snapshot files and tape files from 5 other Spectrum
emulators to own format and W to read DISCiPLE and +D
disks.
=>- Z80 processor amulabon including R register, inofficial
instructions, inofficial flags,
=>- Runs okay wider DOS, Windows and DesqView,
=>- Full source code of emulator and utilities included!
Runs on any 640K PC; too slow for practical use on PC/XT' s
but fast enough on AT's ; runs at about. 100% on 16MHz ATs
(can be slowed down on faster machines), uses
VGA/EGA/CGA or Hercules.
This program costs US $20. You will receive a 3.5" DD disk
(5.25" disks on request), and you'll be kept informed about
updates. Please send bank notes (bills), name and address to:
Gerton Lunter
PO BOX 2535
NL-9704 CM GRONINGEN
NETHERLAND
If you send a cheque, please add US $15 extra and allow A
weeks for delivery.
What is it?
Like QL World and IQLR before. QL Today is a general
magazine for everybody who has a QL or compatible. It Will
contain, listings of events, news, reviews of hardware and
software, meeting reports, articles on programming,
explanations of computing mysteries, histories of QL alumni.
We are attempting to carry on from where IQLR left off but will
improve things in the process. Most of alL though, we need
plenty of feedback from readers so that the magazine can
provide what you actually want.
Who is doing It?
QL Today is being published by Jochen Merz Software.
Jochen Merz has been supplying software for the QL for
several years and has built up a good reputation for quality and
fair trading. The representative in Britain is Miracle Systems
Ltd. who take subscriptions and do the distribution. The
articles in the magazine are written by a number of prominent
QLers and the editor is Dilwyn Jones.
What happened to IQLR?
Bob Dyl suffered another heart attack and has decided to
cease producing IQLR. It also appears that it was not profitable
for him to carry on doing it partly owing to high cost of
sending the magazines from USA to Europe where most QL
users are.
What's happening about the remainder of my IQLR sub?
If you subscribed through Miracle Systems (i.e. you were
issued an invoice) or through Jochen Merz Software then you
will get the number of QL Today issues free of charge that you
are owed by IQLR. If you have an outstanding subscription to
IQLR purchased through a different channel then tell us - you
will be eligible for l A price issues to substitute for IQLRs you
are owed provided you take out a subscription starting with the
May/June 96 issue.
Subscriptions:
Germany (+German add-on) DM 70
England DM 60 £25
Rest of the world DM 70 £30
Back-issues are available for DM 12 find, postage)
Checks should be made payable to Jochen Merz Software or
Miracle Systems Ltd.
German Office:
Jochen Merz Software Tel
1m stilien Wlnkel 12 Fax.
47169 Duisburg Boxl
Germany Box2
English Office:
Miracle Systems Ltd. Tel.
20 Mow Barton Fax.
Yates, Bristol
United Kingdom BS17 5NF
Editor
Dilwyn Jones Tel.
41 Bro Emrys Fax.
Tal-Y-Bont, Bangor, Gwynedd
United Kingdom LL57 3YT
+49 203 502011
+49 203 502012
+49 203 502013
+49 203 502014
+44 1454 883602
+44 1454 883602
+44 1248 354023
+44 1248 354023
liiiiiB
•Jack Dohany (Developer - 2088)
627 VERA AVE
REDWOOD CiTY CA 94081
John McMichael {Developer - Graphics)
1710 PALMER DR
LARAMIE WY 82070
Biii Russell (QL)
RUSSEL ELECTRONICS
RR 1 BOX 539
CENTER HALL PA 18828
TEJ Computer Products
2405 GLENDALE BLVD STE208
LOS ANGLES CA 90039
24 Hr. Order line: 213 669-1418
Mark Stueber (QL)
SHARP'S COMPUTER CENTER
7244 MECHANICSVILLE TPKE
MECHANICSVILLE VA 231 1 1
804 730-9697 FAX 804 746-1 978
SUNSET ELECTRONICS (TS-1 000/2068)
2254 TARAVAL ST
SAN FRANCISCO CA 94116
ZXir QLive Alive
37
Spring 1997
Send them a LSASE and ask for information about
their current products and/or services.
[G Enterprises Is Still Alive
If you would like a complete listing of all the items we have fo
sale, please send a large envelope (6X9) SASE with at least $.81
postage on it. You will receive more than 20 pages of listings.
For questions or comments, feel free to call or write.
14784 S QUAIL GROVE CiR
OREGON CITY OR 97045-8844
503 655-7484 1 0AM - 7PM (Pacific) Tues. - Sat.
; tsumm
Formerly: Mechanical Affinity
aj
^eeds
zx-siyrs-tooo
Computers
Hardware Accessories
Software
Frank Davis
FO Box 1 7
317-473-8031 Tues. - Sat. Only, 6 - 9 PM
FAX: 317 472-0783 7PM- 1 1AM
E-Mail: INTERNET:fdavis@iquestnet
IIttp://members.tripod.com/~FWDcomputing/index.html
Computer
Basic Z88 Computer, vinyl carrying case and manual, new $170
Z88 Computer, vinyl carrying case, used in working order $1 15
Z88 Computer, non-working for parts. $60.
EPROM Cartridges
32K for $20 or (3) for $50, 1 28K for $52, 256K for $77.
RAMs
32K RAM Cartridge for $25.
1 28K RAM Cartridge for $46
512K RAM Cartridge for $90.
1 Meg. RAM Cartridge for $172.
Z88 to Mac Cables for $8.
Z88 Serial Printer Cable for $10.
Z88 Serial to Parallel Printer Interface for $46.
MACLINK to Z88, Macintosh to Z88, cable, program, cartridge
for $26.
PCLINK to Z88, PC to Z88 cable, program, cartridge for $26.
Both PCLINK & MACLINK for $50.
QLINK to Z88, QL to Z88 programs $20.
AMIGALINK, Amiga to Z88 disk, cable, cartridge for $27.
Topper, molded hard plastic cover to protect Z88 for $22.
Z88 MAGIC, best book available for the Z88 for $25.
BBC BASIC, use this book and learn to My use the built-in
language of your Z88 computer, limited supply, priced at $30.
Z88 Source Book 3rd edition, with your choice of 3 QL or PC
format disks of PD & Shareware programs for the Z88 for $9.
Z88 Vinyl Carrying Case for $9.
NEW!! Z88 Keyboards for replacement, only $22.
Replacement LCD for $25.
ZXir QLwc Alive!
38
Spring 1997 ,
■x ■ ■